我对文件夹中的' mainwindow.ui '文件进行了一些更改:'Forms'。 我添加了一个名为“文件”的新标题,只有两个简单的选项,'添加分形'和'退出'
您还可以看到两者都在mainwindow.ui文件中:
但是当我运行项目时,窗口没有按照我的意愿显示。标签没有显示。
我有建造,重建和制造,仍然有这个奇怪的事情。 任何人都可以帮我一把吗?
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>
答案 0 :(得分:2)
我遇到了同样的问题,直到我意识到mac OS上的菜单出现在顶部而不是应用程序窗口。
看看你是否属于这种情况。
谢谢,