2.可视化UI设计

参考视频:https://www.bilibili.com/video/BV1AX4y1w7Nt

  • 窗口的三种类型,每种类型窗体拥有的方法不同:

    • 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设计的更多相关文章

  1. [读书笔记]iOS 7 UI设计 对比度

    好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...

  2. Android 高级UI设计笔记07:RecyclerView 的详解

    1. 使用RecyclerView       在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...

  3. UI设计学习笔记(7-12)

    UI学习笔记(7)--扁平化图标 认识扁平化 Flat Design 抛弃传统的渐变.阴影.高光等拟真视觉效果,打造看上去更平的界面.(颜色.形状) 扁平化图标有什么优缺点 优点: 简约不简单.有新鲜 ...

  4. Qt5.9 UI设计(七)——统一样式设计

    前言 前面已经将UI设计部分实现,各页面也做了最简单的设计,本章介绍一下qss样式的使用.样式设计最终的显示效果如下图: 操作步骤 将stylesheet.qss 样式文件添加进工程 styleshe ...

  5. 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

    [Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界 ...

  6. 用户体验设置和UI设计的10个不同点

    在这个技术的世界,UX和UI这两个词条在差点儿全部公司都非常流行,不管大小,都在寻找招聘UX/UI设计师. 这两个缩写词条使得整个技术工业为之疯狂,由于它们是最先进的前沿技术. 那这两个词条实际上是什 ...

  7. Android UI设计规则

    Android UI技巧 1.1 不该做什么 l  不要照搬你在其他平台的UI设计,应该让用户使用感觉是在真正使用一个Android软件,在你的LOGO显示和平台总体观感之间做好平衡 l  不要过度使 ...

  8. 优秀设计师应当知道的20大UI设计原则

    世界级图形设计大师Paul Rand(保罗.兰德)曾经说过:"设计绝不是简单的排列组合与简单地再编辑,它应当充满着价值和意义,去说明道理,去删繁就简,去阐明演绎,去修饰美化,去赞美褒扬,使其 ...

  9. 专访UI中国认证设计师卤大湿 | 一位UI大师关于UI设计的思考

    现如今,设计师可以说是一个自带光环的Title,很多深藏不漏的UI设计师们都在以自己的方式为产品设计做出贡献,卤大湿便是这其中之一. 精分青年卤大湿,这个在UI中国上是张酷酷的鲁迅头像的UI设计师,是 ...

  10. 全是干货!UI设计的30条黄金准则!

    http://www.wex5.com/portfolio-items/js-1/ 全是干货!UI设计的30条黄金准则!   总的来说,好的UI界面有几个特征:简洁.便利.目标明确.人性化.字面上看这 ...

随机推荐

  1. 以下哪一项是对CSMA/CA和CSMA/CD LAN控制通用的CSMA方法的适当描述?

    A.   检测载波信号并控制数据传输. B.   获得具有传输权的消息(令牌)的终端传输数据. C.   如果在数据传输过程中发生冲突,立即重新发送. D.   即使在使用传输线时也可以传输数据. = ...

  2. 使用Python实现两组数据纵向排序

    一.引言 在数据分析和处理过程中,排序是一项非常常见的操作.排序操作能够让我们更清晰地理解数据,从而进行进一步的分析和处理.在Python中,排序操作通常可以通过内置函数或第三方库来实现.本文将详细讲 ...

  3. 探索 Spring AOP:全面解析与实战应用

    在现代 Java 开发领域,Spring 框架无疑占据着重要地位,而 Spring AOP(Aspect-Oriented Programming,面向切面编程)作为 Spring 框架的关键特性之一 ...

  4. 【Amadeus原创】域用户完美执行应用程序

    企业环境中,为了安全起见一般都没有赋予域用户或者企业的PC客户端用户管理员权限. 但偶尔会有个别的程序一定需要管理员身份才能执行,如财务某些程序或专业的应用程序.那么如何不赋予用户管理员权限及密码但又 ...

  5. Redis应用—5.Redis相关解决方案

    大纲 1.数据库与缓存一致性方案 2.热key探测系统处理热key问题 3.缓存大value监控和切分处理方案 4.Redis内存不足强制回收监控告警方案 5.Redis集群缓存雪崩自动探测 + 限流 ...

  6. 在腾讯云 EMR 上使用 GooseFS 加速大数据计算服务

    GooseFS 是腾讯云对象存储团队最新推出的高性能.高可用以及可弹性伸缩的分布式缓存系统,依靠对象存储(Cloud Object Storage,COS)作为数据湖存储底座的成本优势,为数据湖生态中 ...

  7. 在分布式追踪系统中使用 W3C Trace Context

    在分布式追踪系统中使用 W3C Trace Context https://dev.to/luizhlelis/using-w3c-trace-context-standard-in-distribu ...

  8. Spring Security并结合JWT实现用户认证(Authentication) 和用户授权(Authorization)

    引言在Web应用开发中,安全一直是非常重要的一个方面.Spring Security基于Spring 框架,提供了一套Web应用安全性的完整解决方案. JwT (JSON Web Token) 是当前 ...

  9. Java中SPI机制原理解析

    使用SPI机制前后的代码变化 加载MySQL对JDBC的Driver接口实现 在未使用SPI机制之前,使用JDBC操作数据库的时候,一般会写如下的代码: // 通过这行代码手动加载MySql对Driv ...

  10. 如何使用图片的exif信息计算相机焦距

    135胶卷源于35mm高度的打孔电影胶片,1913年,德国人奥斯卡·巴纳克将其用于他发明的徕卡(Leica)牌小型照相机上,由此形成标准.35mm电影胶卷,35mm指的是胶卷的高度为35mm,由于上下 ...