qt4:一个完整的窗口应用程序的结构 和 源代码
2007-10-25 11:44
260 查看
1。--------------------ui文件由designer设计得出-----------------------------
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QStatusBar>
#include <QtGui/QTextEdit>
#include <QtGui/QWidget>
class Ui_MainWindow
{
public:
QAction *actionAbout;
QAction *actionAbout_QT;
QAction *actionOpen;
QAction *actionClose;
QAction *actionExit;
QWidget *centralwidget;
QTextEdit *textEdit;
QMenuBar *menubar;
QMenu *menu;
QMenu *menu_2;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(480, 332);
actionAbout = new QAction(MainWindow);
actionAbout->setObjectName(QString::fromUtf8("actionAbout"));
actionAbout_QT = new QAction(MainWindow);
actionAbout_QT->setObjectName(QString::fromUtf8("actionAbout_QT"));
actionOpen = new QAction(MainWindow);
actionOpen->setObjectName(QString::fromUtf8("actionOpen"));
actionClose = new QAction(MainWindow);
actionClose->setObjectName(QString::fromUtf8("actionClose"));
actionExit = new QAction(MainWindow);
actionExit->setObjectName(QString::fromUtf8("actionExit"));
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
textEdit = new QTextEdit(centralwidget);
textEdit->setObjectName(QString::fromUtf8("textEdit"));
textEdit->setGeometry(QRect(0, 0, 481, 291));
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 480, 18));
menu = new QMenu(menubar);
menu->setObjectName(QString::fromUtf8("menu"));
menu_2 = new QMenu(menubar);
menu_2->setObjectName(QString::fromUtf8("menu_2"));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
menubar->addAction(menu->menuAction());
menubar->addAction(menu_2->menuAction());
menu->addAction(actionOpen);
menu->addAction(actionClose);
menu->addSeparator();
menu->addAction(actionExit);
menu_2->addAction(actionAbout);
menu_2->addAction(actionAbout_QT);
retranslateUi(MainWindow);
QObject::connect(actionExit, SIGNAL(triggered()), MainWindow, SLOT(close()));
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "text view", 0, QApplication::UnicodeUTF8));
actionAbout->setText(QApplication::translate("MainWindow", "about", 0, QApplication::UnicodeUTF8));
actionAbout_QT->setText(QApplication::translate("MainWindow", "about QT", 0, QApplication::UnicodeUTF8));
actionOpen->setText(QApplication::translate("MainWindow", "open", 0, QApplication::UnicodeUTF8));
actionOpen->setShortcut(QApplication::translate("MainWindow", "Ctrl+O", 0, QApplication::UnicodeUTF8));
actionClose->setText(QApplication::translate("MainWindow", "close", 0, QApplication::UnicodeUTF8));
actionClose->setShortcut(QApplication::translate("MainWindow", "Ctrl+W", 0, QApplication::UnicodeUTF8));
actionExit->setText(QApplication::translate("MainWindow", "exit", 0, QApplication::UnicodeUTF8));
actionExit->setShortcut(QApplication::translate("MainWindow", "Ctrl+X", 0, QApplication::UnicodeUTF8));
menu->setTitle(QApplication::translate("MainWindow", "/346/226/207/344/273/266", 0, QApplication::UnicodeUTF8));
menu_2->setTitle(QApplication::translate("MainWindow", "/345/205/263/344/272/216", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
#endif // UI_MAINWINDOW_H
2。--------------------------继承的新类mainwindow.h-------------------------------
#include "ui_mainwindow.h"
class MainWindow: public QMainWindow,private Ui::MainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent=0);
private slots:
void menuopen();
};
3.---------------------------新类的实现文件mainwindow.cpp--------------------------
#include <QMessageBox>
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent):QMainWindow(parent)
{
setupUi(this);
QObject::connect(actionOpen,SIGNAL(triggered()),this,SLOT(menuopen()));
}
void MainWindow::menuopen()
{
QMessageBox::information(this,"abc","bcd");
}
4.--------------------------程序入口文件main.cpp------------------------------------------
#include <QApplication>
#include <QLabel>
#include <QMainWindow>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication app (argc, argv);
MainWindow mainw;
mainw.show();
return app.exec();
}
相关文章推荐
- [原]Qt/Qtopia源代码分析之应用程序窗口的显示层次
- qt 关闭一个页面,结束应用程序运行,关闭其他窗口
- 利用平台的方法移动一个Qt创建的无本地窗口管理器的窗口
- Qt学习笔记-启动一个额外的应用程序-获取输入的回车信号
- QT带有主创窗口应用程序的创建
- QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
- QT 关于应用程序只启动一个实例的问题
- QT 上建立一个小窗口
- 在一个窗口应用程序中创建一个console窗口
- 一个完整的C语言程序的结构及规范解析
- 用vb.net怎么样能得到一个应用程序窗口的句柄,并将窗口最大化
- Qt事件处理机制整个流程--以鼠标在一个窗口中点击为例
- Qt中,当QDockWidget的父窗口是一个不可以拖动的QTabWidget的时候实现拖动的方法
- 数据窗口返回不止一个值的处理及源代码
- 完成一个GUI应用程序,一个窗口中含有4个按钮,两个label,按照流式布局器进行布局,每个组件之间间隔20px,居右对齐。
- QT中使用OpenGL(0)——创建一个窗口
- Qt动态布局,多个窗口使用同一个widget如何实现。
- QT中关闭应用程序和窗口的函数
- GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用。 官方只提供了Debian/Ubuntu系统下的安
- 探索InstallShield——制作一个完整的应用程序安装实例