我正在关注QtSDK中列出的Qt示例,标题为“使用Qt进行编程”。我的问题是该程序不显示任何对象。
我的main.cpp看起来像这样:
#include <QtGui>
#include <notepad.h>
int main(int argv, char **args) {
QApplication app(argv, args);
QVBoxLayout layout;
Notepad notepad();
QWidget window;
window.setLayout(&layout);
window.show();
return app.exec();
}
'notepad.h'文件:
#ifndef NOTEPAD_H
#define NOTEPAD_H
#include <QtGui>
class Notepad : public QMainWindow {
Q_OBJECT
public:
Notepad();
private slots:
void open();
void save();
void quit();
private:
QTextEdit *text_edit;
QAction *open_action;
QAction *save_action;
QAction *exit_action;
QMenu *file_menu;
};
#endif // NOTEPAD_H
'notepad.cpp'文件:
#include "notepad.h"
Notepad::Notepad() {
open_action = new QAction(tr("&Open"), this);
save_action = new QAction(tr("&Save"), this);
exit_action = new QAction(tr("&Exit"), this);
connect(open_action, SIGNAL(triggered()), this, SLOT(open()));
connect(save_action, SIGNAL(triggered()), this, SLOT(save()));
connect(exit_action, SIGNAL(triggered()), qApp, SLOT(quit()));
file_menu = menuBar()->addMenu(tr("&File"));
file_menu->addAction(open_action);
file_menu->addAction(save_action);
file_menu->addSeparator();
file_menu->addAction(exit_action);
text_edit = new QTextEdit;
setCentralWidget(text_edit);
setWindowTitle(tr("Notepad"));
}
void Notepad::open() {
...
}
void Notepad::save() {
...
}
void Notepad::quit() {
}
非常感谢任何解决此事的帮助。
修改
我原来的问题问我为什么在没有实现“退出”功能时出现编译时错误,如果你想知道:)。