ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-05-02 14:31:29  阅读:222  来源: 互联网

标签:QT5 clicked 可视化 UI Dialog checked ui font textBox


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

标签:QT5,clicked,可视化,UI,Dialog,checked,ui,font,textBox
来源: https://www.cnblogs.com/FlyonGrass/p/16215768.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有