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. 使用 cProfile 分析和定位 Python 应用性能瓶颈点

    一.需求背景 性能压测时,发现某接口存在性能瓶颈,期望借助工具定位该瓶颈,最好能定位至具体慢方法. 二.cProfile 简介 cProfile 是 Python 标准库中的一个模块,用于对 Pyth ...

  2. 鸿蒙NEXT开发案例:世界时间表

    [引言] 本案例将展示如何使用鸿蒙NEXT框架开发一个简单的世界时钟应用程序.该应用程序能够展示多个城市的当前时间,并支持搜索功能,方便用户快速查找所需城市的时间信息.在本文中,我们将详细介绍应用程序 ...

  3. 预热篇2:从RNN到Transformmer

    下面是整理的一个思维导图 2010年Mikolov提出了RNN网络,RNN网络存在长距离依赖(梯度消失),计算效率(RNN 难以并行)两个问题 2017年Transformmer网络结构问世,Tran ...

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

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

  5. 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( ...

  6. Mac 配置多版本JDK

    @ 目录 前言 一.下载并安装多个JDK版本 二.配置环境变量 三.切换JDK版本 四.下篇预告!!! 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示:以下是本篇文章正文 ...

  7. Qt编写地图综合应用13-获取边界点

    一.前言 获取边界点一般和行政区划搭配起来使用,比如用户输入一个省市的名称,然后自动定位到该省市,然后对该轮廓获取所有边界点集合输出到js文件,最后供离线使用,获取边界点还有一个功能就是获取当前区域内 ...

  8. vue3 封装axios

    1添加一个新的 http.js文件 封装axios 引入axios //引入Axios import axios from 'axios' 定义一个根地址 //视你自己的接口地址而定 var root ...

  9. 在CLion中如何为CMakeLists.txt文件添加第三方依赖库

    cmake_minimum_required(VERSION 3.5)project(ImageBasedModellingEdu)set(CMAKE_MODULE_PATH "${CMAK ...

  10. IM跨平台技术学习(五):融云基于Electron的IM跨平台SDK改造实践总结

    本文由融云技术团队分享,有修订和改动. 1.引言 Electron 凭借其相对更低的研发成本投入.强大的跨平台支持.拥有基数庞大的 Javascript 开发者受众等优势,在 PC 端跨平台桌面开发领 ...