`
美丽的小岛
  • 浏览: 298444 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

VS使用QT设计师设计的UI

 
阅读更多

 1.  新建UI,保存为ab.ui,把文件放在项目的UI路径中。

 


 
 2.  VS加入ab.ui文件,例如:


 
 3. 编译一下,会生成一个ui_ab.h的文件。

运行的命令行为:"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"

右键*.ui文件,选属性可以看到:


 
     4.  使用方法如下类图:


 

 5.  原因,看下面代码的对应关系:

ab.ui文件

<?xmlversion="1.0"encoding="UTF-8"?>

<uiversion="4.0">

 <class>Form</class>

 <widgetclass="QWidget"name="Form">

  <propertyname="geometry">

   <rect>

    <x>0</x>

    <y>0</y>

    <width>279</width>

    <height>166</height>

   </rect>

  </property>

  <propertyname="windowTitle">

   <string>Form</string>

  </property>

  <widgetclass="QPushButton"name="But">

   <propertyname="geometry">

    <rect>

     <x>70</x>

     <y>40</y>

     <width>75</width>

     <height>23</height>

    </rect>

   </property>

   <propertyname="text">

    <string>点Ì?击¡Â</string>

   </property>

  </widget>

 </widget>

 <resources/>

 <connections/>

</ui>

 

 

ui_ab.h文件

 

#ifndef UI_AB_H

#define UI_AB_H

 

#include <QtCore/QVariant>

#include <QtWidgets/QAction>

#include <QtWidgets/QApplication>

#include <QtWidgets/QButtonGroup>

#include <QtWidgets/QHeaderView>

#include <QtWidgets/QPushButton>

#include <QtWidgets/QWidget>

 

QT_BEGIN_NAMESPACE

 

class Ui_Form

{

public:

    QPushButton *But;

 

    void setupUi(QWidget *Form)

    {

        if (Form->objectName().isEmpty())

            Form->setObjectName(QStringLiteral("Form"));

        Form->resize(279, 166);

        But = new QPushButton(Form);

        But->setObjectName(QStringLiteral("But"));

        But->setGeometry(QRect(70, 40, 75, 23));

 

        retranslateUi(Form);

 

        QMetaObject::connectSlotsByName(Form);

    } // setupUi

 

    void retranslateUi(QWidget *Form)

    {

        Form->setWindowTitle(QApplication::translate("Form", "Form", 0));

        But->setText(QApplication::translate("Form", "\347\202\271\345\207\273", 0));

    } // retranslateUi

 

};

 

namespace Ui {

    class Form: public Ui_Form {};

} // namespace Ui

 

QT_END_NAMESPACE

 

#endif // UI_AB_H

 

 

    6.  下面是自己写的AB.h类进行使用

//AB.h文件

#pragma once

#include <QtWidgets/QMainWindow>

#include "ui_ab.h"

 

class AB : public QWidget

{

    Q_OBJECT

 

public:

    AB(QWidget *parent = 0);

    ~AB();

 

private:

    Ui::Form ui;

};

 

//AB.cpp文?件t

#include "AB.h"

 

AB::AB(QWidget *parent)

    : QWidget(parent)

{

    ui.setupUi(this);

}

 

AB::~AB()

{

 

}

 

 

    7.  把这个UI写一个测试,运行结果为


 

 好的,nice!

  • 大小: 3.4 KB
  • 大小: 98.6 KB
  • 大小: 56.8 KB
  • 大小: 37.4 KB
  • 大小: 11.4 KB
1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics