Qt第一天 淩亂°似流年 2022-04-21 16:18 168阅读 0赞 ## 代码化UI设计 ## 1 **qwdlogmanual.h文件** \#ifndef QWDLOGMANUAL\_H \#define QWDLOGMANUAL\_H \#include \#include \#include \#include \#include \#include \#include class QWDlogManual : public QDialog \{ Q\_OBJECT private: //声明界面上的各个组件的指针变量 QCheckBox \*chkBoxUnder; QCheckBox \*chkBoxItalic; QCheckBox \*chkBoxBold; QRadioButton \*rBtnBlack; QRadioButton \*rBtnRed; QRadioButton \*rBtnBlue; QPlainTextEdit \*txtEdit; QPushButton \*btnOK; QPushButton \*btnCancle; QPushButton \*btnClose; void iniUI(); //UI创建与初始化 void iniSignalSlots(); //初始化信号与槽的连接 private slots: void on\_chkBoxUnder(bool checked);//Underline的槽函数 void on\_chkBoxItalic(bool checked);//Italic的槽函数 void on\_chkBoxBold(bool checked);//Bold的槽函数 void setTextFontColor();//设置字体颜色的函数 //3个颜色设置的radioButton的共同响应槽函数。 //与可视化设计得到的窗体类定义不同,QWDlgManual的类定义没有只向界面的指针ui。 public: QWDlogManual(QWidget \*parent = 0); ~QWDlogManual(); \}; \#endif // QWDLOGMANUAL\_H 2. **qwdlogmanual.cpp文件** \#include “qwdlogmanual.h” //访问界面组件时,无需使用ui指针,而是直接访问QWDlgManual类定义的界面组件的成员变量即可 //界面的创建,以及信号与槽函数的关联都在QWDlgManual的构造函数里完成 QWDlogManual::QWDlogManual(QWidget \*parent) : QDialog(parent) \{ iniUI(); iniSignalSlots(); setWindowTitle(“Form created mannualy”); \} void QWDlogManual::iniUI() \{ //创建Underline,Italic,Bold 3个CheckBox,并水平布局 chkBoxUnder=new QCheckBox(tr(“Underline”)); chkBoxItalic=new QCheckBox(tr(“Italic”)); chkBoxBold=new QCheckBox(tr(“Bold”)); QHBoxLayout \*HLay1=new QHBoxLayout; HLay1->addWidget(chkBoxUnder); HLay1->addWidget(chkBoxItalic); HLay1->addWidget(chkBoxBold); //创建Black,Red,Blue 3个RadioButton,并水平布局 rBtnBlack=new QRadioButton(tr(“Black”)); rBtnBlack->setChecked(true); rBtnBlue=new QRadioButton(tr(“Blue”)); rBtnRed=new QRadioButton(tr(“Red”)); QHBoxLayout \*HLay2=new QHBoxLayout; HLay2->addWidget(rBtnBlack); HLay2->addWidget(rBtnBlue); HLay2->addWidget(rBtnRed); //创建 确定,取消,退出 3个PushButton,并水平布局 btnOK=new QPushButton(tr(“确定”)); btnCancle=new QPushButton(tr(“取消”)); btnClose=new QPushButton(tr(“退出”)); QHBoxLayout \*Hlay3=new QHBoxLayout; Hlay3->addStretch(); Hlay3->addWidget(btnOK); Hlay3->addWidget(btnCancle); Hlay3->addStretch(); Hlay3->addWidget(btnClose); //创建 文本框,并设置初始字体 txtEdit=new QPlainTextEdit; txtEdit->setPlainText(“Hello World\\n\\nIt is my demo”); QFont font=txtEdit->font();//获取字体 font.setPointSize(20);//修改字体大小 txtEdit->setFont(font);//设置字体 //创建 垂直布局,并设置为主布局 QVBoxLayout \*VLay=new QVBoxLayout; VLay->addLayout(HLay1);//添加字体类型组 VLay->addLayout(HLay2);//添加字体颜色组 VLay->addWidget(txtEdit);//添加PLainTextEdit VLay->addLayout(Hlay3);//添加按键组 setLayout(VLay); \} void QWDlogManual::iniSignalSlots()//初始化所有的信号与槽的关联 \{ //三个颜色QRadioButton的clicked()信号与setTextFontColor()槽函数关联 connect(rBtnBlue,SIGNAL(clicked()),this,SLOT(setTextFontColor())); connect((rBtnBlack),SIGNAL(clicked()),this,SLOT(setTextFontColor())); connect(rBtnRed,SIGNAL(clicked()),this,SLOT(setTextFontColor())); //三个字体设置的 QCheckBox的clicked(bool)信号与相应的槽函数关联 connect(chkBoxBold,SIGNAL(clicked(bool)),this,SLOT(on\_chkBoxBold(bool))); connect(chkBoxItalic,SIGNAL(clicked(bool)),this,SLOT(on\_chkBoxItalic(bool))); connect(chkBoxUnder,SIGNAL(clicked(bool)),this,SLOT(on\_chkBoxUnder(bool))); //三个按钮的信号与窗体的槽函数关联 connect(btnOK,SIGNAL(clicked(bool)),this,SLOT(accept())); connect(btnCancle,SIGNAL(clicked(bool)),this,SLOT(reject())); connect(btnClose,SIGNAL(clicked(bool)),this,SLOT(close())); \} void QWDlogManual::on\_chkBoxUnder(bool checked) \{ QFont font=txtEdit->font(); font.setUnderline(checked); txtEdit->setFont(font); \} void QWDlogManual::on\_chkBoxBold(bool checked) \{ QFont font=txtEdit->font(); font.setBold(checked); txtEdit->setFont(font); \} void QWDlogManual::on\_chkBoxItalic(bool checked) \{ QFont font=txtEdit->font(); font.setItalic(checked); txtEdit->setFont(font); \} void QWDlogManual::setTextFontColor() \{ QPalette plet=txtEdit->palette(); if(rBtnBlack->isChecked()) plet.setColor(QPalette::Text,Qt::black); else if(rBtnBlue->isChecked()) plet.setColor(QPalette::Text,Qt::blue); else if(rBtnRed->isChecked()) plet.setColor(QPalette::Text,Qt::red); else plet.setColor(QPalette::Text,Qt::black); txtEdit->setPalette(plet); \} QWDlogManual::~QWDlogManual() \{ \}
相关 java第一天课程_Java学习-第一天 今天开始学习Java,看的是\[毕向东\_Java基础视频教程\].因为没有书,将笔记写写在博客上可以备忘和记录学习里程。同时希望通过写博客的形式可以让自己学习Java更有动力 柔情只为你懂/ 2022年10月23日 08:27/ 0 赞/ 364 阅读
相关 第一天 \金兴 \1.1G-4G的介绍 1. G generation 2. 1G 大哥大 只能进行通话 不能发短信 安全性差 3. 2G wap.baidu. 青旅半醒/ 2022年08月21日 00:09/ 0 赞/ 279 阅读
相关 第一天 ![Center][] [Center]: /images/20220715/629f023bde3a4b1a844085b2f1122aae.png 浅浅的花香味﹌/ 2022年07月15日 12:07/ 0 赞/ 295 阅读
相关 ZooKeeper第一天 [ZooKeeper官方文档][ZooKeeper] ZooKeeper:分布式应用程序的分布式协调服务 > ZooKeeper是面向分布式应用程序的分布式开源协调 怼烎@/ 2022年06月04日 00:37/ 0 赞/ 328 阅读
相关 Qt第一天 代码化UI设计 1 qwdlogmanual.h文件 \ifndef QWDLOGMANUAL\_H \define QWDLOGMANUAL\_H \incl 淩亂°似流年/ 2022年04月21日 16:18/ 0 赞/ 169 阅读
相关 QT第二天 混合方式设计UI 资源文件导入 ![在这里插入图片描述][20181127141027989.png] 设计Action ![在这里插入图片描述][wate 旧城等待,/ 2022年04月13日 04:52/ 0 赞/ 480 阅读
相关 工作第一天 [为什么80%的码农都做不了架构师?>>> ][80_] ![hot3.png][] 标准时间,9:30到6:30。有个我们是程序猿,具体时间,看我们的上级领导。结果,被告知 野性酷女/ 2022年01月15日 13:55/ 0 赞/ 352 阅读
相关 冲刺第一天 完成任务:初步实现在屏幕上画线的功能。 遇到问题:画线功能与移动功能无法同时显示。 明日任务:使移动和画线能完美结合。 转载于:https://www.cnblogs.c 曾经终败给现在/ 2021年12月23日 08:03/ 0 赞/ 385 阅读
相关 第一天感悟 学习了让窗口不缩放,百分比加rem,然后各种操作html,感觉非常开心。其实M站的可以用原生html开发了,加上折叠导航,至于滑动操作限制也行,只要不是太影响,就,可以制作M站 以你之姓@/ 2021年11月01日 23:20/ 0 赞/ 486 阅读
相关 第一天 在网页中 触发右键设置 用oncontextmenu,不能触发设置οncοntextmenu="return false" 禁止鼠标右键:οncοntextmenu="ret 妖狐艹你老母/ 2021年09月20日 14:12/ 0 赞/ 611 阅读
还没有评论,来说两句吧...