QT5笔记:2.可视化UI设计
2.可视化UI设计
- 窗口的三种类型,每种类型窗体拥有的方法不同:
- MainWindow:指的是正常窗体:有菜单栏、状态栏、工具栏的窗体
- Widget:指的是只是但有个窗体,其余什么都没有,最纯净的窗口
- Dialog:指的是对话框窗体,拥有对话框可以有的一些操作:接受、拒绝、退出、取消、确认等
QMetaObject::connectSlotsByName(Dialog);//表示使用方法名来建立信号&槽的关系
/**
* @brief Dialog::on_checkBoxUnderline_clicked
* @param checked
* sender checkBoxUnderline
* signal clicked
* receiver Dialog
* slot on_checkBoxUnderline_clicked(bool checked)
*/
void Dialog::on_checkBoxUnderline_clicked(bool checked)
{
QFont font = ui->textBox->font();//获取font
font.setUnderline(checked);//设置下划线
ui->textBox->setFont(font);//设置font
//ui->textBox->font().setUnderline(checked);//界面不能这么设置,因为font()的返回值是const,不能改,但是能获取
}
void Dialog::on_checkBoxItalic_clicked(bool checked)
{
QFont font = ui->textBox->font();//获取font
font.setItalic(checked);//设置斜体
ui->textBox->setFont(font);//设置font
}
void Dialog::on_checkBoxBold_clicked(bool checked)
{
QFont font = ui->textBox->font();//获取font
font.setBold(checked);//设置加粗
ui->textBox->setFont(font);//设置font
}
/**
* @brief Dialog::on_checkBoxUnderline_clicked
* @param checked
* sender checkBoxUnderline
* signal clicked
* receiver Dialog
* slot on_checkBoxUnderline_clicked(bool checked)
*/
void Dialog::on_checkBoxUnderline_clicked(bool checked)
{
QFont font = ui->textBox->font();//获取font
font.setUnderline(checked);//设置下划线
ui->textBox->setFont(font);//设置font
//ui->textBox->font().setUnderline(checked);//界面不能这么设置,因为font()的返回值是const,不能改,但是能获取
}
void Dialog::on_checkBoxItalic_clicked(bool checked)
{
QFont font = ui->textBox->font();//获取font
font.setItalic(checked);//设置斜体
ui->textBox->setFont(font);//设置font
}
void Dialog::on_checkBoxBold_clicked(bool checked)
{
QFont font = ui->textBox->font();//获取font
font.setBold(checked);//设置加粗
ui->textBox->setFont(font);//设置font
}
/**
* @description 设置字体颜色
* 该槽函数是Radio Btn 的槽函数,是手动定义的。目的是让三个Radio Btn 共用一个槽函数
* 也可以让三个Radio Btn有三个槽函数,只是会让代码显示很臃肿
* 最后记得手动在窗口构造函数里(或者根据逻辑在代码其他地方)设置connnect ,使界面和槽函数连接起来。
* QObject::connect(ui->radioButtonBlack, SIGNAL(clicked()), this, SLOT(on_colorRadioBtn_clicked()));
* QObject::connect(ui->radioButtonRed, SIGNAL(clicked()), this, SLOT(on_colorRadioBtn_clicked()));
* QObject::connect(ui->radioButtonBlue, SIGNAL(clicked()), this, SLOT(on_colorRadioBtn_clicked()));
*/
void Dialog::on_colorRadioBtn_clicked()
{
QPalette palette = ui->textBox->palette();
if(ui->radioButtonBlack->isChecked()){
palette.setColor(QPalette::Text,Qt::black);
}
else if(ui->radioButtonBlue->isChecked()){
palette.setColor(QPalette::Text,Qt::blue);
}
else if(ui->radioButtonRed->isChecked()){
palette.setColor(QPalette::Text,Qt::red);
}
else
palette.setColor(QPalette::Text,Qt::black);
ui->textBox->setPalette(palette);
}
QT5笔记:2.可视化UI设计的更多相关文章
- [读书笔记]iOS 7 UI设计 对比度
好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...
- Android 高级UI设计笔记07:RecyclerView 的详解
1. 使用RecyclerView 在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...
- UI设计学习笔记(7-12)
UI学习笔记(7)--扁平化图标 认识扁平化 Flat Design 抛弃传统的渐变.阴影.高光等拟真视觉效果,打造看上去更平的界面.(颜色.形状) 扁平化图标有什么优缺点 优点: 简约不简单.有新鲜 ...
- Qt5.9 UI设计(七)——统一样式设计
前言 前面已经将UI设计部分实现,各页面也做了最简单的设计,本章介绍一下qss样式的使用.样式设计最终的显示效果如下图: 操作步骤 将stylesheet.qss 样式文件添加进工程 styleshe ...
- 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面
[Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界 ...
- 用户体验设置和UI设计的10个不同点
在这个技术的世界,UX和UI这两个词条在差点儿全部公司都非常流行,不管大小,都在寻找招聘UX/UI设计师. 这两个缩写词条使得整个技术工业为之疯狂,由于它们是最先进的前沿技术. 那这两个词条实际上是什 ...
- Android UI设计规则
Android UI技巧 1.1 不该做什么 l 不要照搬你在其他平台的UI设计,应该让用户使用感觉是在真正使用一个Android软件,在你的LOGO显示和平台总体观感之间做好平衡 l 不要过度使 ...
- 优秀设计师应当知道的20大UI设计原则
世界级图形设计大师Paul Rand(保罗.兰德)曾经说过:"设计绝不是简单的排列组合与简单地再编辑,它应当充满着价值和意义,去说明道理,去删繁就简,去阐明演绎,去修饰美化,去赞美褒扬,使其 ...
- 专访UI中国认证设计师卤大湿 | 一位UI大师关于UI设计的思考
现如今,设计师可以说是一个自带光环的Title,很多深藏不漏的UI设计师们都在以自己的方式为产品设计做出贡献,卤大湿便是这其中之一. 精分青年卤大湿,这个在UI中国上是张酷酷的鲁迅头像的UI设计师,是 ...
- 全是干货!UI设计的30条黄金准则!
http://www.wex5.com/portfolio-items/js-1/ 全是干货!UI设计的30条黄金准则! 总的来说,好的UI界面有几个特征:简洁.便利.目标明确.人性化.字面上看这 ...
随机推荐
- 使用 cProfile 分析和定位 Python 应用性能瓶颈点
一.需求背景 性能压测时,发现某接口存在性能瓶颈,期望借助工具定位该瓶颈,最好能定位至具体慢方法. 二.cProfile 简介 cProfile 是 Python 标准库中的一个模块,用于对 Pyth ...
- 鸿蒙NEXT开发案例:世界时间表
[引言] 本案例将展示如何使用鸿蒙NEXT框架开发一个简单的世界时钟应用程序.该应用程序能够展示多个城市的当前时间,并支持搜索功能,方便用户快速查找所需城市的时间信息.在本文中,我们将详细介绍应用程序 ...
- 预热篇2:从RNN到Transformmer
下面是整理的一个思维导图 2010年Mikolov提出了RNN网络,RNN网络存在长距离依赖(梯度消失),计算效率(RNN 难以并行)两个问题 2017年Transformmer网络结构问世,Tran ...
- 【Amadeus原创】域用户完美执行应用程序
企业环境中,为了安全起见一般都没有赋予域用户或者企业的PC客户端用户管理员权限. 但偶尔会有个别的程序一定需要管理员身份才能执行,如财务某些程序或专业的应用程序.那么如何不赋予用户管理员权限及密码但又 ...
- Flutter 错误The argument type 'Color' can't be assigned to the parameter type 'MaterialStateProperty<Color?>?'.dart(argument_type_not_assignable)
MaterialStateProperty<Color?>?和Color 当为TextButton等button添加颜色时,使用ButtonStyle为其添加颜色 TextButton( ...
- Mac 配置多版本JDK
@ 目录 前言 一.下载并安装多个JDK版本 二.配置环境变量 三.切换JDK版本 四.下篇预告!!! 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示:以下是本篇文章正文 ...
- Qt编写地图综合应用13-获取边界点
一.前言 获取边界点一般和行政区划搭配起来使用,比如用户输入一个省市的名称,然后自动定位到该省市,然后对该轮廓获取所有边界点集合输出到js文件,最后供离线使用,获取边界点还有一个功能就是获取当前区域内 ...
- vue3 封装axios
1添加一个新的 http.js文件 封装axios 引入axios //引入Axios import axios from 'axios' 定义一个根地址 //视你自己的接口地址而定 var root ...
- 在CLion中如何为CMakeLists.txt文件添加第三方依赖库
cmake_minimum_required(VERSION 3.5)project(ImageBasedModellingEdu)set(CMAKE_MODULE_PATH "${CMAK ...
- IM跨平台技术学习(五):融云基于Electron的IM跨平台SDK改造实践总结
本文由融云技术团队分享,有修订和改动. 1.引言 Electron 凭借其相对更低的研发成本投入.强大的跨平台支持.拥有基数庞大的 Javascript 开发者受众等优势,在 PC 端跨平台桌面开发领 ...