QT5笔记:2.可视化UI设计

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);
}

__EOF__

本文作者echo_lovely
本文链接https://www.cnblogs.com/echo-lovely/p/16215768.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   echo_lovely  阅读(328)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示