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();
目录
相关文章
|
10月前
|
存储 API C++
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
807 0
WK
|
4月前
|
C++ 开发者
QDialog
QDialog是Qt框架中的对话框基类,支持模态和非模态两种模式。它提供了丰富的函数,如exec()、show()、accept()和reject(),用于控制对话框的行为。QDialog可以包含多种控件,用于收集用户输入或显示信息。此外,Qt还提供了一些常用的标准化对话框,如QColorDialog、QFileDialog、QFontDialog、QInputDialog和QMessageBox,方便开发者快速实现特定功能。
WK
69 2
|
10月前
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
Qt6学习笔记五(自定义对话框、QMessageBox、QColorDialog、QFileDialog、QFontDialog)
435 0
Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战
Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战
|
10月前
|
编译器 C语言
gcc编译警告:warning: suggest parentheses around assignment used as truth value
gcc编译警告:warning: suggest parentheses around assignment used as truth value
499 0
|
Rust 小程序
小程序警告:Now you can provide attr wxkey for a wxfor to improve performance
首先,无论什么程序,控制台中的警告都是会影响程序性能的。我们需要减少此类警告的出现,以提高程序的运行性能。 小程序开发的时候,遇到了如下的警告:
209 0
UVa11714 - Blind Sorting
UVa11714 - Blind Sorting
81 0
关于 error: comparison between ... 'QPushButton*' and 'QAbstractButton*' lacks... 的解决方法
关于 error: comparison between ... 'QPushButton*' and 'QAbstractButton*' lacks... 的解决方法
关于 error: comparison between ... 'QPushButton*' and 'QAbstractButton*' lacks... 的解决方法