您的位置:首页 > 编程语言 > Qt开发

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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐