学习网址: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. ros中坐标系管理系统

    首先安装小海龟实例的功能包ros-melodic-turtle-tf  qqtsj  ~  sudo apt install ros-melodic-turtle-tf [sudo] qqtsj ...

  2. javabst1

    (单选题)下列概念中不包括任何实现,与存储空间没有任何关系的是() A)类 B)接口 C)抽象类 D)对象 2.(单选题)HTTP状态码中表示请求资源不存在的是(). A)100 B)200 C)30 ...

  3. QT5如何设置QLabel中字体的颜色

    修改了wd的文章: 如何使用Qt5,设置QLabel中字体的颜色. 大致有几种做法: 一是使用setPalette()方法: 二是使用样式表: 三是可以使用QStyle: 四是可以在其中使用一些简单的 ...

  4. Grevl旅游注册的初步界面,以源代码和运行图片展示

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. DirectX11 With Windows SDK--30 图像模糊、索贝尔算子

    前言 到这里计算着色器的主线学习基本结束,剩下的就是再补充两个有关图像处理方面的应用.这里面包含了龙书11的图像模糊,以及龙书12额外提到的Sobel算子进行边缘检测.主要内容源自于龙书12,项目源码 ...

  6. djiango目录文件

    一.创建项目 命令:django-admin startproject mysite mysite ├── manage.py └── mysite     ├── __init__.py     ├ ...

  7. 高精度模板(Vector实现更加方便)

    计算的数long long 甚至更大的数据类型的都存不下的时候,应该怎么办 ? 解决方法 :我们可以把一个很大的数当做字符串进行处理,这时候就需要用到高精度. 话不多说,咱们边看代码边处理 : 加法 ...

  8. Burpsuite Pro 2020.1最新破解版

    简介 Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具.Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程.所有工具都共享一个请求,并能处理对应的HTTP ...

  9. kakfa+zookeeper集群搭建

    1:下载对应安装包 zookeeper-3.4.14.tar.gz:链接:https://pan.baidu.com/s/19_eYsv5r9bg0AKv3TzjpZQ    提取码:ik8a kaf ...

  10. 【全集】大数据Java基础

    课程介绍 本课程是由猎豹移动大数据架构师,根据Java在公司大数据开发中的实际应用,精心设计和打磨的大数据必备Java课程.通过本课程的学习大数据新手能够少走弯路,以较短的时间系统掌握大数据开发必备语 ...