李荣权的专栏--OS--Soft--Life

IT人生,精彩人生

QT4:创建主窗口应用程序 ,非 对话框应用成



1,用QT Desingner设计并实现 窗口界面 ,这里主要是体验窗口程序的框架 ,所以不做任何的界面修改使用默认的界面。
2,保存ui界面到ma目录下 ,名字为:ma.ui
3,进入ma目录 :cd  ~/ma
4,生成项目文件 :qmake -project
5,生成 makefile文件: qmake ma.pro
6,make(此时还没有main文件,运行make主要是为了把 ui文件转换成 .h文件)
7,创建 main.cpp
8,输入如下代码 :
 #include "ui_ma.h" (把界面代码包含进来)
#include <QtGui/QMainWindow>
#include <QtGui/QApplication>
#include <QtGui/QWidget>
int main(int argc,char *argv[])
{
 QApplication app(argc,argv);
 QMainWindow w;                
 Ui::MainWindow mainw;
 mainw.setupUi(&w);
 w.show();
 return app.exec();
}
9,保存后 ,执行make命令
10,执行新生成的 ma可执行文件你就见到主界面了,开心吧!
11,附uic身成的ui_ma.h文件的源代码
/********************************************************************************
** Form generated from reading ui file 'ma.ui'
**
** Created: Tue Oct 9 16:13:18 2007
**      by: Qt User Interface Compiler version 4.3.2
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/

#ifndef UI_MA_H
#define UI_MA_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QStatusBar>
#include <QtGui/QWidget>

class Ui_MainWindow
{
public:
    QAction *actionOpen;
    QAction *action_2;
    QAction *actionExit;
    QWidget *centralwidget;
    QPushButton *pushButton;
    QMenuBar *menubar;
    QMenu *menu_File;
    QMenu *menu_About;
    QStatusBar *statusbar;

    void setupUi(QMainWindow *MainWindow)
    {
    if (MainWindow->objectName().isEmpty())
        MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
    MainWindow->resize(519, 341);
    actionOpen = new QAction(MainWindow);
    actionOpen->setObjectName(QString::fromUtf8("actionOpen"));
    action_2 = new QAction(MainWindow);
    action_2->setObjectName(QString::fromUtf8("action_2"));
    actionExit = new QAction(MainWindow);
    actionExit->setObjectName(QString::fromUtf8("actionExit"));
    centralwidget = new QWidget(MainWindow);
    centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
    pushButton = new QPushButton(centralwidget);
    pushButton->setObjectName(QString::fromUtf8("pushButton"));
    pushButton->setGeometry(QRect(60, 20, 80, 27));
    MainWindow->setCentralWidget(centralwidget);
    menubar = new QMenuBar(MainWindow);
    menubar->setObjectName(QString::fromUtf8("menubar"));
    menubar->setGeometry(QRect(0, 0, 519, 25));
    menu_File = new QMenu(menubar);
    menu_File->setObjectName(QString::fromUtf8("menu_File"));
    menu_About = new QMenu(menubar);
    menu_About->setObjectName(QString::fromUtf8("menu_About"));
    MainWindow->setMenuBar(menubar);
    statusbar = new QStatusBar(MainWindow);
    statusbar->setObjectName(QString::fromUtf8("statusbar"));
    MainWindow->setStatusBar(statusbar);

    menubar->addAction(menu_File->menuAction());
    menubar->addAction(menu_About->menuAction());
    menu_File->addAction(actionOpen);
    menu_File->addSeparator();
    menu_File->addAction(action_2);
    menu_File->addAction(actionExit);

    retranslateUi(MainWindow);

    QMetaObject::connectSlotsByName(MainWindow);
    } // setupUi

    void retranslateUi(QMainWindow *MainWindow)
    {
    MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
    actionOpen->setText(QApplication::translate("MainWindow", "open", 0, QApplication::UnicodeUTF8));
    action_2->setText(QApplication::translate("MainWindow", "Save", 0, QApplication::UnicodeUTF8));
    actionExit->setText(QApplication::translate("MainWindow", "Exit", 0, QApplication::UnicodeUTF8));
    pushButton->setText(QApplication::translate("MainWindow", "&Ok", 0, QApplication::UnicodeUTF8));
    menu_File->setTitle(QApplication::translate("MainWindow", "&File", 0, QApplication::UnicodeUTF8));
    menu_About->setTitle(QApplication::translate("MainWindow", "&About", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class MainWindow: public Ui_MainWindow {};
} // namespace Ui

#endif // UI_MA_H

阅读更多
个人分类: 程序开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭