QT中如何使用ui文件

原创 2013年12月02日 14:52:16
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created: Mon Dec 2 14:42:57 2013
**      by: Qt User Interface Compiler version 4.7.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/


#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H


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


QT_BEGIN_NAMESPACE


class Ui_MainWindow
{
public:
    QAction *actionNew;
    QAction *actionOpen;
    QAction *actionClose;
    QAction *actionSave;
    QAction *actionSaveAs;
    QAction *actionQuit;
    QAction *actionUndo;
    QAction *actionCut;
    QAction *actionCopy;
    QAction *actionPaste;
    QAction *actionSelectAll;
    QAction *actionSearchFile;
    QWidget *centralwidget;
    QTextEdit *textEdit;
    QStatusBar *statusbar;
    QMenuBar *menuBar;
    QMenu *menuFile;
    QMenu *menuEdit;
    QMenu *menuTool;
    QToolBar *FileToolBar;
    QToolBar *EditToolBar;


    void setupUi(QMainWindow *MainWindow)
    {
        if (MainWindow->objectName().isEmpty())
            MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
        MainWindow->resize(800, 600);
        actionNew = new QAction(MainWindow);
        actionNew->setObjectName(QString::fromUtf8("actionNew"));
        actionOpen = new QAction(MainWindow);
        actionOpen->setObjectName(QString::fromUtf8("actionOpen"));
        actionClose = new QAction(MainWindow);
        actionClose->setObjectName(QString::fromUtf8("actionClose"));
        actionSave = new QAction(MainWindow);
        actionSave->setObjectName(QString::fromUtf8("actionSave"));
        actionSaveAs = new QAction(MainWindow);
        actionSaveAs->setObjectName(QString::fromUtf8("actionSaveAs"));
        actionQuit = new QAction(MainWindow);
        actionQuit->setObjectName(QString::fromUtf8("actionQuit"));
        actionUndo = new QAction(MainWindow);
        actionUndo->setObjectName(QString::fromUtf8("actionUndo"));
        actionCut = new QAction(MainWindow);
        actionCut->setObjectName(QString::fromUtf8("actionCut"));
        actionCopy = new QAction(MainWindow);
        actionCopy->setObjectName(QString::fromUtf8("actionCopy"));
        actionPaste = new QAction(MainWindow);
        actionPaste->setObjectName(QString::fromUtf8("actionPaste"));
        actionSelectAll = new QAction(MainWindow);
        actionSelectAll->setObjectName(QString::fromUtf8("actionSelectAll"));
        actionSearchFile = new QAction(MainWindow);
        actionSearchFile->setObjectName(QString::fromUtf8("actionSearchFile"));
        centralwidget = new QWidget(MainWindow);
        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
        textEdit = new QTextEdit(centralwidget);
        textEdit->setObjectName(QString::fromUtf8("textEdit"));
        textEdit->setGeometry(QRect(0, 10, 711, 491));
        MainWindow->setCentralWidget(centralwidget);
        statusbar = new QStatusBar(MainWindow);
        statusbar->setObjectName(QString::fromUtf8("statusbar"));
        MainWindow->setStatusBar(statusbar);
        menuBar = new QMenuBar(MainWindow);
        menuBar->setObjectName(QString::fromUtf8("menuBar"));
        menuBar->setGeometry(QRect(0, 0, 800, 28));
        menuFile = new QMenu(menuBar);
        menuFile->setObjectName(QString::fromUtf8("menuFile"));
        menuEdit = new QMenu(menuBar);
        menuEdit->setObjectName(QString::fromUtf8("menuEdit"));
        menuTool = new QMenu(menuBar);
        menuTool->setObjectName(QString::fromUtf8("menuTool"));
        MainWindow->setMenuBar(menuBar);
        FileToolBar = new QToolBar(MainWindow);
        FileToolBar->setObjectName(QString::fromUtf8("FileToolBar"));
        MainWindow->addToolBar(Qt::TopToolBarArea, FileToolBar);
        EditToolBar = new QToolBar(MainWindow);
        EditToolBar->setObjectName(QString::fromUtf8("EditToolBar"));
        MainWindow->addToolBar(Qt::TopToolBarArea, EditToolBar);


        menuBar->addAction(menuFile->menuAction());
        menuBar->addAction(menuEdit->menuAction());
        menuBar->addAction(menuTool->menuAction());
        menuFile->addAction(actionNew);
        menuFile->addAction(actionOpen);
        menuFile->addAction(actionClose);
        menuFile->addAction(actionSave);
        menuFile->addAction(actionSaveAs);
        menuFile->addAction(actionQuit);
        menuEdit->addAction(actionUndo);
        menuEdit->addAction(actionCut);
        menuEdit->addAction(actionCopy);
        menuEdit->addAction(actionPaste);
        menuEdit->addAction(actionSelectAll);
        menuTool->addAction(actionSearchFile);


        retranslateUi(MainWindow);


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


    void retranslateUi(QMainWindow *MainWindow)
    {
        MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
        actionNew->setText(QApplication::translate("MainWindow", "\346\226\260\345\273\272", 0, QApplication::UnicodeUTF8));
        actionOpen->setText(QApplication::translate("MainWindow", "\346\211\223\345\274\200", 0, QApplication::UnicodeUTF8));
        actionClose->setText(QApplication::translate("MainWindow", "\345\205\263\351\227\255", 0, QApplication::UnicodeUTF8));
        actionSave->setText(QApplication::translate("MainWindow", "\344\277\235\345\255\230", 0, QApplication::UnicodeUTF8));
        actionSaveAs->setText(QApplication::translate("MainWindow", "\345\217\246\345\255\230\344\270\272", 0, QApplication::UnicodeUTF8));
        actionQuit->setText(QApplication::translate("MainWindow", "\351\200\200\345\207\272", 0, QApplication::UnicodeUTF8));
        actionUndo->setText(QApplication::translate("MainWindow", "\346\222\244\351\224\200", 0, QApplication::UnicodeUTF8));
        actionCut->setText(QApplication::translate("MainWindow", "\345\211\252\345\210\207", 0, QApplication::UnicodeUTF8));
        actionCopy->setText(QApplication::translate("MainWindow", "\345\244\215\345\210\266", 0, QApplication::UnicodeUTF8));
        actionPaste->setText(QApplication::translate("MainWindow", "\347\262\230\345\270\226", 0, QApplication::UnicodeUTF8));
        actionSelectAll->setText(QApplication::translate("MainWindow", "\345\205\250\351\200\211", 0, QApplication::UnicodeUTF8));
        actionSearchFile->setText(QApplication::translate("MainWindow", "\346\237\245\346\211\276\346\226\207\344\273\266", 0, QApplication::UnicodeUTF8));
        menuFile->setTitle(QApplication::translate("MainWindow", "\346\226\207\344\273\266", 0, QApplication::UnicodeUTF8));
        menuEdit->setTitle(QApplication::translate("MainWindow", "\347\274\226\350\276\221", 0, QApplication::UnicodeUTF8));
        menuTool->setTitle(QApplication::translate("MainWindow", "\345\267\245\345\205\267", 0, QApplication::UnicodeUTF8));
        FileToolBar->setWindowTitle(QApplication::translate("MainWindow", "\346\226\260\345\273\272", 0, QApplication::UnicodeUTF8));
        EditToolBar->setWindowTitle(QApplication::translate("MainWindow", "toolBar", 0, QApplication::UnicodeUTF8));
    } // retranslateUi


};


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


QT_END_NAMESPACE


#endif // UI_MAINWINDOW_H



以上是由ui文件直接生成的.h文件,其中红色的部分就是我们生成的可以用的类,类名为MainWindow,命名空间为Ui,

接着我们新建一个类然后从此UI类中继承

#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include "ui_mainwindow.h"
//class Win : public QMainWindow,public Ui::MainWindow
class Win : public Ui::MainWindow,public QMainWindow
{
public:
Win(QMainWindow* parent = 0):QMainWindow(parent)/
{
setupUi(this);
}
};


//注意这边的父类要与  刚才生成的.h文件中  void setupUi(QMainWindow *MainWindow)对应

注意有的父类可能是QDialog,QWidget,可能不同,我有一次就是想当然认为是QWidget,结果出错


int main(int argc,char** argv)
{
QApplication app(argc,argv);
Win w;
        w.show();
        return app.exec();       
}



这样qmake -project ;qmake;make就生成我们的程序了







QT中ui文件的使用方法

ui文件的使用是在Qt4中不太容易上手的一点,因为很多同学都是从Qt3升级到Qt4的,在升级过程中发现这部分的变化非常之大,让人有点无所适从。 Qt3的designer简直可以媲美一个ide,可以编辑...
  • u011519892
  • u011519892
  • 2013年08月10日 19:38
  • 2981

Qt中ui文件的使用

用designer设计的ui文件可以通过uic工具转换为
  • zzwdkxx
  • zzwdkxx
  • 2014年05月14日 18:59
  • 25417

使用VS2010调用QtDesigner设计的UI文件,并实现控件功能

一、利用Qt Designer设计UI。 参见《Linux窗口程序设计—Qt4精彩实例分析》 1、使用Qt Designer设计对话框的步骤: 2、Qt Designer5中表单模板。 ...
  • hbyzl
  • hbyzl
  • 2015年11月08日 20:20
  • 4000

Qt之ui文件

本文主要介绍ui文件及其使用.一、ui文件介绍   Qt项目编译成功后,你会发现一个.ui文件和ui_.h文件。一般还会有ui.setupUi(this);代码。本文介绍一下ui文件。    在VS...
  • webzhuce
  • webzhuce
  • 2017年03月29日 09:45
  • 595

Qt编程中,Ui文件如何被利用...

这两天跟着班级辅导,总有学生感到很疑惑,用ui designer设计出来的ui文件是如何使用的,下面我从一个例子来说明下,希望能对有这样疑惑的同学有帮助。 事实上,现在有了继承设计工具qtcre...
  • zhang911025
  • zhang911025
  • 2014年04月10日 17:21
  • 937

Qt如何添加现有或额外的ui文件

在#界面文件#一栏添加现有ui文件,添加你要添加的ui文件 重新编译,这时会在编译器会在build文件夹里面生成ui_xxx.h的文件。 在A.h里面添加一个命名空间,如下: namespac...
  • u012423865
  • u012423865
  • 2016年06月06日 17:57
  • 2360

VS2010在QT中使用.ui文件所需设置

如上篇日志所讲,VS2010对QT的支持还不完善,很多地方需要手动设置很麻烦。这里是记录下在使用QT designer编辑时保存的.ui文件加入到vs2010中使用时所需设置 方法和上篇所讲的moc设...
  • crasyfman
  • crasyfman
  • 2010年09月19日 02:37
  • 6621

QT多个UI文件加入一个项目

这样可在多个UI界面上进行分部开发。避免都在一个UI下太凌乱…… 在网上找了一些资料,很少有介绍这方面的,以及类似这样项目的源码。 看 一些基本控件的使用时,想到了一种方法:使用gridLayout控...
  • liukang325
  • liukang325
  • 2013年12月16日 20:38
  • 6571

Qt5 ui文件使用

学习记录不断更新 我使用的Qt 5.3.1 creator (MinGW 4.8 (32-bit)) ui文件,继承的是什么类型,ui文件名暂定:serialwidget.ui,如果不知道ui文件继承...
  • lovebird_27
  • lovebird_27
  • 2015年10月19日 13:21
  • 1474

如何使用Qt Designer生成的ui文件

进行Qt应用程序开发时,经常利用Qt Designer来进行图形用户界面的设计工作。利用它进行图形界面的设计工作有着直观、方面、易于后期维护的优点。...
  • farsight2009
  • farsight2009
  • 2016年11月17日 13:58
  • 1368
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT中如何使用ui文件
举报原因:
原因补充:

(最多只允许输入30个字)