QT编程初步

1、             设计好界面,保存到一个指定的文件夹form,保存为的文件名称为formdialog.ui(*.ui文件是一个基于XML格式的文件),界面显示如下:

QT编程初步_第1张图片

SelectCheckBox1按钮的objectName属性为:pushButton1   

SelectCheckBox2按钮的objectName属性为:pushButton2

SelectCheckBox3按钮的objectName属性为:pushButton3

SelectAll按钮的objectName属性为:pushButton4

CheckBox1复选框的objectName属性为:checkBox1

CheckBox2复选框的objectName属性为:checkBox2

CheckBox3复选框的objectName属性为:checkBox3

 

 

2、             建立自己的类文件( form.h  from.cpp )

form.h

#ifndef MYFORM_H

#define MYFORM_H

#include <QDialog>

#include "ui_form.h"

class Form : public QDialog, public Ui::Form

{

    Q_OBJECT

public:

    Form(QWidget *parent = 0);

//自定义槽

private slots:

    void on_pushButton4_clicked();

};

#endif

 

from.cpp

#include <QtGui>

#include "form.h"

 

Form::Form(QWidget *parent) : QDialog(parent)

{

    setupUi(this);

    connect(pushButton1, SIGNAL(clicked()), checkBox1, SLOT(toggle()));

    connect(pushButton2, SIGNAL(clicked()), checkBox2, SLOT(toggle()));

    connect(pushButton3, SIGNAL(clicked()), checkBox3, SLOT(toggle()));

}

//自定义槽

void Form::on_pushButton4_clicked()

{

    connect(pushButton4, SIGNAL(clicked()), checkBox1, SLOT(toggle()));

    connect(pushButton4, SIGNAL(clicked()), checkBox2, SLOT(toggle()));

    connect(pushButton4, SIGNAL(clicked()), checkBox3, SLOT(toggle()));

}

在这个自定义的类里面,对用Qt Designer设计的界面进行完善,添加一些自己定义的signals and slots(共享版本的QT4,用Designer无法自定义信号和槽,所以得在自定义的类里面添加;对Ui_form.h文件的说明见后面的补充材料).

 

3、             建立main.cpp文件,调用上面这个自定义的类:

main.cpp

#include <QApplication>

#include "form.h"

 

int main(int argc, char *argv[])

{

    QApplication app(argc, argv);

    Form *form = new Form;

    form->show();

    return app.exec();

}

 

4、             经过以上步骤后,在得到如下几个文件:

form.ui  form.cpp  form.h  main.cpp

       打开QT Command prompt控制台,切换到保存.ui文件的那个目录下面,先后输入一下命令:

       qmake –project

       qmake form.pro

       make

QT编程初步_第2张图片

5、             经过以上的步骤后,在form文件夹下面,得到以下一系列文件:

QT编程初步_第3张图片

 

6、             release文件夹下面,得到可执行文件“form.exe ,运行该文件:

QT编程初步_第4张图片 

 

 

补充1

ui_form.h 头文件里面的内容,类似于下面这种形式:

#ifndef UI_FORM_H

#define UI_FORM_H

 

#include <QtCore/QVariant>

#include <QtGui/QAction>

#include <QtGui/QApplication>

#include <QtGui/QButtonGroup>

......

 

class Ui_Form

{

public:

    QWidget *layoutWidget;

    QGroupBox *groupBox;

    QHBoxLayout *hboxLayout;

    QVBoxLayout *vboxLayout;

    QCheckBox *checkBox1;

    QPushButton *pushButton1;

    ……

    void setupUi(QWidget *Form)

    {

        ........

} // setupUi

 

    void retranslateUi(QWidget *Form)

    {

        ........

    } // retranslateUi

};

namespace Ui {

    class Form: public Ui_Form {};

} // namespace Ui

#endif // UI_FORM_H

 

1. ui_form.huic自动生成的代码,用户通过Qt Designer设计的界面,保存在一个文件 "***.ui" 里面;

2. 打开QT Command prompt控制台,切换到保存.ui文件的那个目录下面,然后运行命令:

     uic form.ui > ui_form.h

     将得到对应于该界面的一个类“class Ui_Form”,自动生成的类都带一个前缀“Ui_”;

3. The class declares member variables that store the form's child widgets and layouts,

     and a setupUi() function that initializes the form.

 

 

 

 

 

 

你可能感兴趣的:(编程,UI,command,Class,qt,Signal)