学习网址:http://c.biancheng.net/view/1824.html

我的代码:

头文件qwdlgmanual.h:

 #ifndef QWDLGMANUAL_H
#define QWDLGMANUAL_H #include <QDialog>
#include <QPushButton>
#include <QRadioButton>
#include <QCheckBox>
#include <QPlainTextEdit>
#include <QBoxLayout> class QWDlgManual : public QDialog
{
Q_OBJECT public:
QWDlgManual(QWidget *parent = nullptr);
~QWDlgManual(); private slots:
void on_setUnderline(bool checked);
void on_setBold(bool checked);
void on_setItalic(bool checked);
void ColorSet(); private:
QRadioButton* rbtnred;
QRadioButton* rbtnblue;
QRadioButton* rbtnblack;
QCheckBox* ckboxBold;
QCheckBox* ckboxItalic;
QCheckBox* ckboxUnder;
QPushButton* btnClose;
QPushButton* btnOK;
QPlainTextEdit* textEdit;
void initialSignalSlots();
void initialUI();
};
#endif // QWDLGMANUAL_H

qwdlgmanual.cpp:

 #include "qwdlgmanual.h"

 QWDlgManual::QWDlgManual(QWidget *parent)
: QDialog(parent)
{
initialUI();
initialSignalSlots();
setWindowTitle("Form");
} QWDlgManual::~QWDlgManual()
{
} void QWDlgManual::on_setUnderline(bool checked)
{
QFont font=textEdit->font();
font.setUnderline(checked);
textEdit->setFont(font);
} void QWDlgManual::on_setBold(bool checked)
{
QFont font=textEdit->font();
font.setBold(checked);
textEdit->setFont(font);
} void QWDlgManual::on_setItalic(bool checked)
{
QFont font=textEdit->font();
font.setItalic(checked);
textEdit->setFont(font);
} void QWDlgManual::ColorSet()
{
QPalette palte=textEdit->palette();
if(rbtnred->isChecked())
palte.setColor(QPalette::Text,Qt::red);
else if(rbtnblue->isChecked())
palte.setColor(QPalette::Text,Qt::blue);
else if(rbtnblack->isChecked())
palte.setColor(QPalette::Text,Qt::black);
textEdit->setPalette(palte);
} void QWDlgManual::initialSignalSlots()
{
connect(rbtnred,SIGNAL(clicked()),this,SLOT(ColorSet()));
connect(rbtnblue,SIGNAL(clicked()),this,SLOT(ColorSet()));
connect(rbtnblack,SIGNAL(clicked()),this,SLOT(ColorSet()));
//radiobutton与槽函数的链接
connect(ckboxBold,SIGNAL(clicked(bool)),this,SLOT(on_setBold(bool)));
connect(ckboxUnder,SIGNAL(clicked(bool)),this,SLOT(on_setUnderline(bool)));
connect(ckboxItalic,SIGNAL(clicked(bool)),this,SLOT(on_setItalic(bool)));
//checkbutton与槽函数的链接
connect(btnOK,SIGNAL(clicked()),this,SLOT(accept()));
connect(btnClose,SIGNAL(clicked()),this,SLOT(close()));
//pushbutton与槽函数的链接
} void QWDlgManual::initialUI()
{
ckboxBold = new QCheckBox(tr("Bold"));
ckboxItalic = new QCheckBox(tr("Itlic"));
ckboxUnder = new QCheckBox(tr("Underline"));
QHBoxLayout* Hey=new QHBoxLayout;
Hey->addWidget(ckboxBold);
Hey->addWidget(ckboxItalic);
Hey->addWidget(ckboxUnder);
//增加更改字体的CheckBox
rbtnred = new QRadioButton(tr("Red"));
rbtnblue = new QRadioButton(tr("Blue"));
rbtnblack = new QRadioButton(tr("Black"));
QHBoxLayout* Hsy=new QHBoxLayout;
Hsy->addWidget(rbtnred);
Hsy->addWidget(rbtnblue);
Hsy->addWidget(rbtnblack);
//增加更改颜色的RadioButton
btnOK = new QPushButton(tr("确定"));
btnClose = new QPushButton(tr("关闭"));
QHBoxLayout* Hty=new QHBoxLayout;
Hty->addStretch();
Hty->addWidget(btnOK);
Hty->addWidget(btnClose);
//添加确认与退出按键
textEdit = new QPlainTextEdit;
textEdit->setPlainText("Hello World!\nThis is my demo.");
QFont font = textEdit->font();
font.setPointSize();
textEdit->setFont(font);
//设置文本格式
QVBoxLayout* Vey=new QVBoxLayout;
Vey->addLayout(Hey);
Vey->addLayout(Hsy);
Vey->addWidget(textEdit);
Vey->addLayout(Hty);
//垂直风格的页面总布局
setLayout(Vey);//设置为窗体的主布局
}

主文件main:

 #include "qwdlgmanual.h"

 #include <QApplication>

 int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWDlgManual w;
w.show();
return a.exec();
}

Qt实践-基于C++的UI设计基础的更多相关文章

  1. iOS10 UI设计基础教程

    iOS10 UI设计基础教程 介绍:本教程针对iOS初级开发人员,基于iOS 10系统,使用Swift 3.0语言讲解如何进行UI设计.本教程内容涵盖UI基础构成.UI元素.自动布局.自适应UI.UI ...

  2. 【译】UI设计基础(UI Design Basics)--导航(Navigation)(六)

    [译]UI设计基础(UI Design Basics)--导航(Navigation)(六)

  3. 《软件测试自动化之道》读书笔记 之 基于反射的UI测试

    <软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序  启动待测程序  设置窗体的属性  获取窗体的属性  设置控件的属性  ...

  4. 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试

    <软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序  启动待测程序  获得待测程序主窗体的句柄  获得有名字控件的 ...

  5. 前端基于jquery的UI框架

    正在做的一个项目选择jquery作为前端js核心库.然后就想选一个基于jquery的ui库,然后悲催的事情发生了. 至于为什么使用jquery,一是因为不想为授权费用,而又不想引起可能法律纠纷:另一方 ...

  6. 基于jquery的ui选择之路

    选定: 主框架:jqueryUi tree:ztree grid:jqGrid layout:jquery.layout 原由: 还有其他demo,ajax实现等参看连接: 正在做的一个项目选择jqu ...

  7. 基于Vue的Ui框架

    基于Vue的Ui框架 饿了么公司基于vue开的的vue的Ui组件库 Element Ui 基于vue pc端的UI框架 http://element.eleme.io/ MintUi 基于vue 移动 ...

  8. 软件测试自动化之- 基于反射的UI自动化测试框架 - UI Automation Test Framework

    测试自动化程序的任务 基于反射的ui测试自动化程序,要完成的6项任务: 通过某种方式从测试套件程序中运行待测程序(AUT: Applicaton Under Test),以便于两个程序之间进行通信 操 ...

  9. 用qt creator创建可继承ui类

    https://jingyan.baidu.com/article/5d368d1efa2dd73f60c05786.html 用qt creator创建可继承ui类 听语音 | 浏览:1657 | ...

随机推荐

  1. 五、Shell运算

    整数值运算 使用expr命令:只能做整数运算,默认返回计算结果 格式: expr 整数1 运算符 整数2 ... 整数值可以有变量提供,直接给出运算结果 + 加法 expr 43 + 21 .expr ...

  2. 拒绝低效!Python教你爬虫公众号文章和链接

    本文首发于公众号「Python知识圈」,如需转载,请在公众号联系作者授权. 前言 上一篇文章整理了的公众号所有文章的导航链接,其实如果手动整理起来的话,是一件很费力的事情,因为公众号里添加文章的时候只 ...

  3. DotNetty发送请求的最佳实践

    长链接发送request/response时, 绝大部分包都是小包, 而每个小包都要消耗一个IP包, 成本大约是20-30us, 普通千兆网卡的pps大约是60Wpps, 所以想要提高长链接密集IO的 ...

  4. Android整理:SQlite数据库的使用以及通过listView显示数据

    前言:上个月与同学一起做了一个简单的Android应用,这段时间正好没有很多事情所以趁热整理一下学习到的知识,刚开始学习Android还有很多不懂的地方,继续努力吧! 作业中需要用到数据库,当然首选A ...

  5. 链表基本操作与排序(c语言)

    本设计程序用C编写,完成单链表的生成,任意位置的插入.删除,以及确定某一元素在单链表中的位置.实现三种排序算法-冒泡排序.快速排序.合并排序.产生四个长度为100,1000,10000,50000的随 ...

  6. C语言学习笔记--void

    void真正发挥的作用在于: (1) 对函数返回的限定: (2) 对函数参数的限定. 先给一个例子 定义函数返回值 函数名(参数1,参数2,参数3,.......){内容}int  sum(int a ...

  7. Shiro过滤器

    Shiro内置过滤器 anon.authBasic.authc.user.logout perms.roles.ssl.port spring.xml <bean id="shiroF ...

  8. 记一次MySQL中Waiting for table metadata lock的解决方法

    最近项目中的数据库查询经常挂起,应用程序启动后也报操作超时.测试人员就说数据库又挂了(貌似他们眼中的连接失败,查询无果都是挂了),通过 show processlist 一看,满屏都是 Waiting ...

  9. Angular组件通信

    一. 组件间通信(组件间不能互相调用,公共方法放在服务中) (目前项目采用将公共方法直接写在ts文件中没使用服务) ng g service services/服务名 App.module.ts{ 引 ...

  10. Jmeter 连接Redis获取数据集

    公司开展了新的业务活动,需要配合其他部门做压测,由于脚本中的手机号和用户的uid需要参数化而且每次均不能重复,最初的考虑使用csv的方式来获取数据,比较头疼的问题是集群节点需要维护测试数据,所以我将所 ...