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();
目录
相关文章
|
12月前
问题 There is no screen to be resumed matching
问题 There is no screen to be resumed matching
125 0
|
3月前
|
Python
[HDCTF 2023]fake_game
[HDCTF 2023]fake_game
31 0
|
6月前
|
Python
tkinter之place
tkinter之place
48 0
Qt QPainter::end: Painter ended whith 2 saced states
在使用Qt QPainter 的时候,有时会遇到“QPainter::end: Painter ended whith 2 saced states”
223 0
|
iOS开发 数据格式 JSON
resource fork, Finder information, or similar detritus not allowed
XCode 8之后,上传AppStore可能会出现下面的错误: wbcW4.png CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkv...
1370 0