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();
目录
相关文章
问题 There is no screen to be resumed matching
问题 There is no screen to be resumed matching
131 0
|
3月前
|
Python
[HDCTF 2023]fake_game
[HDCTF 2023]fake_game
33 0
|
6月前
|
Python
tkinter之place
tkinter之place
50 0
StdTranslator - Translate PDMS to STD for STAAD.Pro
StdTranslator - Translate PDMS to STD for STAAD.Pro eryar@163.com STAAD.Pro是由美国世界著名的工程咨询和CAD软件开发公司—REI(Research Engineering International)从上世纪七十年代开始开发的通用有限元结构分析与设计软件,到2005年底统计,在全球近百个国家中已超过160,000用户。
1526 0
|
Ubuntu 开发工具 C语言
Building QT projects from the command line
/************************************************************************ * Building QT projects from the command line * 说明: * 很多时候都是通过Qtcreator进行项目的创建以及编译,但是有时候可能 * 会遇到一些编译小问题,这时候命令行创建工程、编译工程可以作为测试、验证 * 的一种手段。
857 0