学习网址: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. 用TreeWalk提高网速及其在vista中的安装方法

    本文中所需的软件请到http://download.csdn.net/source/738436下载.     有时候,我们发现可以上的去QQ,上的去飞信,但是却打不开网页,我通过GOOGLE的搜索发 ...

  2. HDU_4570_区间dp

    http://acm.hdu.edu.cn/showproblem.php?pid=4570 连题目都看不懂,直接找了题解,copy了过来= =. 一个长度为n的数列,将其分成若干段(每一段的长度要& ...

  3. 谈python3的封装

    这章给大家介绍,如何封装一个简单的python库 首先创建一个以下型式的文件结构 rootFile/ setup.py example_package/ __init__.py example_mod ...

  4. symfony传参,接收参数,twig方法记录

    呜呜呜,很烦,让我自己完成一个在线学习系统后端,和前端整合一下,我把接口参数搞了半天(学习symfony太久远),记录一下屈辱历史,以后注意,不然上线了一堆bug,很烦 下面是几种返回的数据的格式 1 ...

  5. WSL2+Docker部署RabbitMQ以及在Asp.net core 中使用RabbitMQ示例(1)

    本文主要在于最近因疫情不能外出,在家研究的一些技术积累. 主要用到的技术以及知识点: WSL 2 WSL 2+Docker Docker+RabbitMQ 在ASP.NET Core中使用Rabbit ...

  6. Java类的加载过程与ClassLoader的理解及测试

    当程序准备运行某个类,但该类还未被加载到内存中时,会经过以下三个步骤进行类的加载: 类的加载(Load)→类的连接(Link)→类的初始化(Initialize) 加载:类经过javac.exe编译的 ...

  7. Linux bash管道符“|”使用介绍与例子

    https://blog.csdn.net/wangqianyilynn/article/details/75576815

  8. java 自学简单框架(反射+注解)

    1.先定义一个学生类 2.再定义一个teacher类(这个是为了练习多个注解,自己练习可以 不写这个) 3.再定义个一个学生老师类(这个是为了最终调用上面的那个学生类做准备) 4.下面开始真正的写框架 ...

  9. HBASE手动触发major_compact

    1.定时执行脚本#!/bin/bash source /etc/profile sh ./hbase shell <<EOF major_compact 'table_name' EOF ...

  10. Angular RxJs:针对异步数据流编程工具

    一. RxJs:针对异步数据流编程工具 1. 创建subject类对象(发送方) 2. subject.subscribe(观察者); (注册观察者对象observer,可以注册多个相当于回调函数取数 ...