Qt Creator:设计更改在运行时未显示

时间:2012-02-27 15:42:35

标签: qt

我对文件夹中的' mainwindow.ui '文件进行了一些更改:'Forms'。 我添加了一个名为“文件”的新标题,只有两个简单的选项,'添加分形'和'退出'

enter image description here

您还可以看到两者都在mainwindow.ui文件中:enter image description here

但是当我运行项目时,窗口没有按照我的意愿显示。标签没有显示。

enter image description here

我有建造,重建和制造,仍然有这个奇怪的事情。 任何人都可以帮我一把吗?

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    void createActions();
    void createMenus();
    // Widgets i layouts
    QWidget *centralWidget;
    // Accions associades als menus
    QAction *exitAct;
    // Menus principals
    QMenu *fileMenu;
};

#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    centralWidget = new QWidget;
    setCentralWidget(centralWidget); createActions();
    createMenus();
    setWindowTitle(tr("Practica 1: GiVD 2011-2012"));
    resize(640, 480);
}

void MainWindow::createActions() {
    exitAct = new QAction(tr("&Exit"), this);
    exitAct->setShortcut(tr("Ctrl+Q"));
    exitAct->setStatusTip(tr("Sortir del programa"));
    connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows()));
}

void MainWindow::createMenus()
{
    fileMenu = menuBar()->addMenu(tr("&File"));
    fileMenu->addSeparator();
    // Per a cada nou submenú has de fer un addAction
    fileMenu->addAction(exitAct);
}

MainWindow::~MainWindow()
{
    delete ui;
}

的main.cpp

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

mainwindow.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget"/>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>400</width>
     <height>22</height>
    </rect>
   </property>
   <widget class="QMenu" name="menuFile">
    <property name="title">
     <string>File</string>
    </property>
    <addaction name="actionAdd_Fractal"/>
    <addaction name="actionExit"/>
   </widget>
   <addaction name="menuFile"/>
  </widget>
  <widget class="QToolBar" name="mainToolBar">
   <attribute name="toolBarArea">
    <enum>TopToolBarArea</enum>
   </attribute>
   <attribute name="toolBarBreak">
    <bool>false</bool>
   </attribute>
  </widget>
  <widget class="QStatusBar" name="statusBar"/>
  <action name="actionAdd_Fractal">
   <property name="text">
    <string>Add Fractal</string>
   </property>
  </action>
  <action name="actionExit">
   <property name="text">
    <string>Exit</string>
   </property>
  </action>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,直到我意识到mac OS上的菜单出现在顶部而不是应用程序窗口。

看看你是否属于这种情况。

谢谢,