第5章代码化UI设计

窗口界面的可视化设计是对用户而言的,UI文件都会被UIC转换为C++程序文件。如果不使用Qt Designer进行UI可视化设计,直接编写C++代码也是可以创建界面的,而且某些界面效果是可视化设计无法实现的。如果习惯了用纯代码的方式设计界面,就可以采用纯代码的方式创建界面。Qt自带的示例项目基本都是用纯代码方式创建UI。

5.1创建项目

创建项目GUI_test2,选择窗口基类为QDialog,但是不选择Generate from,这样就可以创建一个没有窗口UI文件的dialog.ui.

5.2代码实现

使用代码实现第4章相同界面的布局。
1.Dialog类的定义
实现功能后的文件dialog.h完整定义如下:

#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QWindow>
#include <QCheckBox>
#include <QRadioButton>
#include <QPushButton>
#include <QPlainTextEdit>
class Dialog : public QDialog
{
   
   
            
    Q_OBJECT
private:
    QCheckBox *chkBoxUnder;//三个复选框
    QCheckBox *chkBoxItalic;
    QCheckBox *chkBoxBold;
    QRadioButton *radioBlack;//三个单选按钮
    QRadioButton *radioRed;
    QRadioButton *radioBlue;
    QPushButton *btnOK; //三个按钮
    QPushButton *btnCancel;
    QPushButton *btnClose;
    QPlainTextEdit *textEdit;//文本框
    void iniUI();//UI创建与初始化
    void iniSignalSlots();//初始化信号与槽的连接
private slots:
    void do_chkBoxUnder(bool checked);//under复选框
    void do_chkBoxItalic(bool checked);
    void do_chkBoxBold(bool checked);
    void do_setFontColor();//设置文字颜色

public:
    Dialog(QWidget *parent = nullptr);
    ~Dialog();
};
#endif // DIALOG_H

Dialog.cpp内容定义

#include "dialog.h"

#include <QHBoxLayout>

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
   
   
            
    iniUI();//界面创建与布局
    iniSignalSlots();//信号与槽的关联
    setWindowTitle("代码创建UI");//设置窗口标题
}

Dialog::~Dialog() {
   
   
            }

void Dialog::do_chkBoxUnder(bool checked)
{
   
   
            
    QFont font=textE
© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容