QDialog_trial_1

简介: QDialog_trial_1

QDialog_trial_1

可视化 UI 设计

版本:Qt 6

  • 目标
  • 字体样式设置、清空按钮
  • conectSlotsByName 将信号与槽关联
  • 复选框
  • 字体颜色设置
  • 单选框,3个 signal 触发同一个 slot
  • 确定、退出按钮
  • 可视化方式生成信号、槽关联
  • 包括
  • 布局管理
  • 信号与槽的关联
  • 添加资源文件
  • 为应用程序设置图标

添加资源文件 (.qrc)

  • File >>> New File >>> Qt >>> Qt Resource File

信号与槽的关联

QObject::connect(sender,SIGNAL(signal()),receiver,SLOT(slot()));
  • 使用时 QObject 通常可以省略
  • SIGNAL 和 SLOT 是 Qt 的宏,用于将参数转换为相应的字符串
  • 注意事项
  • 一个信号可以连接多个槽函数
  • 多个信号可以连接同一个槽函数
  • 一个信号可以连接另一个信号
开启信号和槽关联
QMetaObject::connectSlotsByName(Dialog)
为应用程序设置图标
  • ui 编辑 >>> 右下角 >>> 搜索 icon
  • “…” 点击 >>> 资源 >>>找到之前保存的文件夹里的图标

布局管理

  • Containers >>> Group Box
  • Buttons >>> Check Box(复选框)
  • Radio Button(单选框)
  • Input Widgets
  • Plain Text Editor (输入框)
  • Buttons
  • Push Button(清空、确定、退出)
  • Spacers
  • Horizontal Spacer (补位)

代码部分

单选框_改变颜色

  • dialog.cpp
connect(ui->radioButton_black,SIGNAL(clicked()),this,SLOT(do_FontColor()));    connect(ui->radioButton_blue,SIGNAL(clicked()),this,SLOT(do_FontColor()));
connect(ui->radioButton_red,SIGNAL(clicked()),this,SLOT(do_FontColor()));
void Dialog::do_FontColor()
 {
     QPalette plet=ui->plainTextEdit->palette();
     if(ui->radioButton_black->isChecked())
         plet.setColor(QPalette::Text,Qt::black);
     else if(ui->radioButton_blue->isChecked())
         plet.setColor(QPalette::Text,Qt::blue);
     else if(ui->radioButton_red->isChecked())
         plet.setColor(QPalette::Text,Qt::red);
     ui->plainTextEdit->setPalette(plet);
}
void Dialog::on_checkBox_underline_clicked(bool checked)
{
    QFont font=ui->plainTextEdit->font();
    font.setUnderline(checked);
    ui->plainTextEdit->setFont(font);
}
void Dialog::on_checkBox_italic_clicked(bool checked)
{
    QFont font=ui->plainTextEdit->font();
    font.setItalic(checked);
    ui->plainTextEdit->setFont(font);
}
void Dialog::on_checkBox_bold_clicked(bool checked)
{
    QFont font=ui->plainTextEdit->font();
    font.setBold(checked);
    ui->plainTextEdit->setFont(font);
}
  • dialog.h
void do_FontColor();
相关文章
弹性布局(display:flex)属性详解
弹性布局(display:flex)属性详解
386 1
如何从多个文件夹里各提取相应数量的文件放一起到新文件夹中形成多文件夹组合
该文介绍了一个工具的使用方法,通过它可以从多个文件夹中批量提取并合并文件。文中提供了两个下载链接(度娘网盘和蓝奏云)并附有提取码。工具主要用于平均分配文件到指定文件夹,例如将100张图片平均放入50个文件夹,每个文件夹2张。操作步骤包括创建目标文件夹、添加源文件夹路径、启用“平均复制”选项,然后执行任务。最后,展示了操作完成后文件夹内的正确分布情况。
413 10
AndroidQ(10.0) MTK平台添加新分区
AndroidQ(10.0) MTK平台添加新分区
1071 0
pycharm 导入库 图文解释(import)
pycharm 导入库 图文解释(import)
332 0
pycharm 导入库 图文解释(import)
108. 你真的知道 Java 类是如何被加载的吗?(二)
108. 你真的知道 Java 类是如何被加载的吗?(二)
188 0
Java性能监控特工,看完你就明白了!
PS:最近是跳槽的高峰期,我连日加班好多天,整理出了包含16000 多道面试题的面试宝典,并且指北君也会持续更新这份面试宝典中的题目,希望它能帮助大家找到自己心仪的工作!【文末有领取方式】
Java性能监控特工,看完你就明白了!
黑客自曝:将发起四年来最大一次攻击
当地时间本周一,黑客组织AntiSec的一个Twitter帐号AnonymouSabu发布一条Twitter信息,内容如下: 请注意:明天Anonymous将发起过去4年内的两次最大攻击。请大家密切关注,这次攻击将是一次史无前例的爆炸性新闻。
927 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问