Qt学习使用(2)

来源:互联网 发布:sql注入例题分析 编辑:程序博客网 时间:2024/06/05 21:14

环境:visual studio 2015 + Qt5.7

一、为工程添加多个ui文件

    打开后缀名为.ui的文件,进入Qt Designer(以下简称设计师),依次点击 文件-》新建,选择MainWindow并创建,将窗体objectName改为MyFirstWindow。然后Ctrl+s保存,命名为MyFirstWindow.ui。    成功后关闭设计师,打开ui文件所在文件夹并将刚刚创建的文件拖入vs的Form Files中。vs会自动生成ui_MyFirstWindow.h等文件。接下来需要手动创建相对应的类文件。    vs中右键添加一个类,命名为MyFirstWindow,继承自QMainWindow。确定并创建成功后,需要修改几处代码:
// h文件中,在类声明中添加Q_OBJECT宏,构造函数参数列表中添加QWidget *parent = Q_NULLPTR。注意引用文件。#include <QtWidgets/QMainWindow>#include "ui_MyFirstWindow.h"#include "qmainwindow.h"class MyFirstWindow :    public QMainWindow{    Q_OBJECTpublic:    MyFirstWindow(QWidget *parent = Q_NULLPTR);    ~MyFirstWindow();  private:    Ui::MyFirstWindow ui;}   // m文件#include "MyFirstWindow.h"#include <qdebug.h>MyFirstWindow::MyFirstWindow(QWidget *parent)    : QMainWindow(parent){    ui.setupUi(this);}
    至此新ui文件及其类文件创建成功,试着在其中加入一个日历控件并显示出来。
int main(int argc, char *argv[]){    QApplication a(argc, argv);    MyFirstWindow mfw;    mfw.setWindowTitle("MainWindow");    mfw.show();    return a.exec();}

界面

二、多界面控制

    使用一个透明界面作为程序主界面,用于实现多界面切换及信息传递。具体做法是:        1、创建一个新的ui类--BackControlWindow。如一所述,并在主函数中实例化--bcw。可以不用显示,因为是做为不可见控制窗体。        2、创建一个新的ui类--MySecondWindow和MyFirstWindow一起作为背景窗口控制的子窗口。    至此窗口创建完成,可由bcw在构造函数中创建并show()。    下面为窗口添加控制事件。
原创粉丝点击