Qt实践-基于C++的UI设计基础
学习网址: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设计基础的更多相关文章
- iOS10 UI设计基础教程
iOS10 UI设计基础教程 介绍:本教程针对iOS初级开发人员,基于iOS 10系统,使用Swift 3.0语言讲解如何进行UI设计.本教程内容涵盖UI基础构成.UI元素.自动布局.自适应UI.UI ...
- 【译】UI设计基础(UI Design Basics)--导航(Navigation)(六)
[译]UI设计基础(UI Design Basics)--导航(Navigation)(六)
- 《软件测试自动化之道》读书笔记 之 基于反射的UI测试
<软件测试自动化之道>读书笔记 之 基于反射的UI测试 2014-09-24 测试自动化程序的任务待测程序测试程序 启动待测程序 设置窗体的属性 获取窗体的属性 设置控件的属性 ...
- 《软件测试自动化之道》读书笔记 之 基于Windows的UI测试
<软件测试自动化之道>读书笔记 之 基于Windows的UI测试 2014-09-25 测试自动化程序的任务待测程序测试程序 启动待测程序 获得待测程序主窗体的句柄 获得有名字控件的 ...
- 前端基于jquery的UI框架
正在做的一个项目选择jquery作为前端js核心库.然后就想选一个基于jquery的ui库,然后悲催的事情发生了. 至于为什么使用jquery,一是因为不想为授权费用,而又不想引起可能法律纠纷:另一方 ...
- 基于jquery的ui选择之路
选定: 主框架:jqueryUi tree:ztree grid:jqGrid layout:jquery.layout 原由: 还有其他demo,ajax实现等参看连接: 正在做的一个项目选择jqu ...
- 基于Vue的Ui框架
基于Vue的Ui框架 饿了么公司基于vue开的的vue的Ui组件库 Element Ui 基于vue pc端的UI框架 http://element.eleme.io/ MintUi 基于vue 移动 ...
- 软件测试自动化之- 基于反射的UI自动化测试框架 - UI Automation Test Framework
测试自动化程序的任务 基于反射的ui测试自动化程序,要完成的6项任务: 通过某种方式从测试套件程序中运行待测程序(AUT: Applicaton Under Test),以便于两个程序之间进行通信 操 ...
- 用qt creator创建可继承ui类
https://jingyan.baidu.com/article/5d368d1efa2dd73f60c05786.html 用qt creator创建可继承ui类 听语音 | 浏览:1657 | ...
随机推荐
- 学习记录(安装spark)
根据林子雨老师提供的教程安装spark,用的是网盘里下载的课程软件 将文件通过ftp传到ubantu中 根据教程修改配置文件,并成功安装spark 在修改配置文件的时候出现了疏忽,导致找不到该文件,最 ...
- 如何利用开源解码项目开发js视频解码的web应用 系列
介绍web上开发视频业务相关程序的技术演变历程 https://www.cnblogs.com/maoliangwu/articles/12046495.html 介绍ffmpeg asm.js we ...
- Java入门基础(变量、操作符与表达式)
Java入门基础 1. 第一个程序 2.变量(命名.运算.整数/小数/字符串.布尔类型) 3.操作符与表达式(算术/逻辑/关系/赋值/自增/类型转换操作符) HelloWorld! public cl ...
- CCF_201503-1_图像旋转
水. #include<iostream> #include<cstdio> using namespace std; ][]; int main() { int n,m; c ...
- bootstrap 图片类 和 按钮类 部分
bootstrap框架,来自 Twitter,基于 html ,css ,js.简介灵活. 首先引入 bootstrap.js bootstrap.css 及 jquery.js 这里不考虑 ...
- Tomcat安装教程及常见错误解决方法
目录 Tomcat安装教程及常见错误解决方法 一.安装前准备 ·熟悉自己电脑的操作系统版本(32位or64位) ·保证电脑上已经装好JDK,并且已经设置好环境变量. 二.Tomcat安装教程(以Tom ...
- gitlab(五):一个开发流程实例
一个多人开发的样例 开发的流程我们都知道: 根据项目版本,创建里程碑,创建开发的issue,分配给dev dev从master clone代码,创建分支就行开发,开发完成之后,提交分支 dev给开发负 ...
- Django 配置文件 settings.py
1. dubug配置 DEBUG=False 2. 数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', &qu ...
- 网络设备 密码、用户级别 AAA授权 的管理
一.进入 特权模式 密码 设置访问网络设备特权模式口令 cisco>enable cisco#config terminal cisco(config)#enable password 密码 e ...
- To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
mongoose报错:DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and wil ...