事件、方法实现 on_radioGreen_clicked ,on_chkBoxUnder_clicked,Qfont,QPalette

Vertical Layout 、Horizontal Layout 实验窗体自适应布局

接上篇界面布局,

实验checkBox、radioBox 的事件槽,

使用Qfont组件变更纯文本框QPlainTextEdit中字体的下划线、加粗、斜体效果

使用调色板组QPalette变更纯文本框QPlainTextEdit中文本颜色

UI截图

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:


    void on_radioBlack_clicked();

    void on_radioRed_clicked();

    void on_radioGreen_clicked();

    void on_chkBoxUnder_clicked(bool checked);

    void on_chkBoxBold_clicked(bool checked);

    void on_chkBoxItalic_clicked(bool checked);

    void setFontColor();

    void on_bntClear_clicked();

    void on_btnExit_clicked();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::setFontColor()
{
    QPalette palette = ui->plainTextEdit->palette();
    if(ui->radioBlack->isChecked()){
        palette.setColor(QPalette::Text,Qt::black);
    }
    else if(ui->radioGreen->isChecked()){
        palette.setColor(QPalette::Text,Qt::green);
    }
    else if(ui->radioRed->isChecked()){
        palette.setColor(QPalette::Text,Qt::red);
    }
    ui->plainTextEdit->setPalette(palette);
}


void MainWindow::on_radioBlack_clicked()
{
    setFontColor();
}


void MainWindow::on_radioRed_clicked()
{
    setFontColor();
}


void MainWindow::on_radioGreen_clicked()
{
    setFontColor();
}


void MainWindow::on_chkBoxUnder_clicked(bool checked)
{
    QFont font=ui->plainTextEdit->font();
    font.setUnderline(checked);
    ui->plainTextEdit->setFont(font);
}


void MainWindow::on_chkBoxBold_clicked(bool checked)
{
    QFont font=ui->plainTextEdit->font();
    font.setBold(checked);
    ui->plainTextEdit->setFont(font);
}


void MainWindow::on_chkBoxItalic_clicked(bool checked)
{
    QFont font=ui->plainTextEdit->font();
    font.setItalic(checked);
    ui->plainTextEdit->setFont(font);
}


void MainWindow::on_bntClear_clicked()
{
    ui->plainTextEdit->clear();
}


void MainWindow::on_btnExit_clicked()
{
    this->close();
}

效果如下

相关推荐

  1. 分布式事务实现方案

    2024-06-17 15:00:04       37 阅读
  2. 分布式事务实现方式

    2024-06-17 15:00:04       23 阅读
  3. 模式实现vue事件总线

    2024-06-17 15:00:04       17 阅读
  4. vue实例事件

    2024-06-17 15:00:04       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 15:00:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 15:00:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 15:00:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 15:00:04       20 阅读

热门阅读

  1. [AIGC] Python在LeetCode刷题中的应用

    2024-06-17 15:00:04       7 阅读
  2. scikit-learn安装

    2024-06-17 15:00:04       7 阅读
  3. 【postman接口测试工具的安装和使用】

    2024-06-17 15:00:04       10 阅读
  4. SQL Server连接前端:深度解析与实用指南

    2024-06-17 15:00:04       10 阅读
  5. git 常用命令 切换分支

    2024-06-17 15:00:04       8 阅读
  6. 餐厅点餐系统的设计

    2024-06-17 15:00:04       6 阅读
  7. golang常用库之-go-figure

    2024-06-17 15:00:04       7 阅读
  8. JL-04 多点土壤温度记录仪 可接6路温度 厂家直营

    2024-06-17 15:00:04       7 阅读
  9. C#——结构和类问题总结

    2024-06-17 15:00:04       11 阅读
  10. node通过axios调用realworld接口

    2024-06-17 15:00:04       8 阅读
  11. (55)MOS管专题--->(10)MOS管的封装

    2024-06-17 15:00:04       9 阅读
  12. 为什么要把ip和mac地址绑定

    2024-06-17 15:00:04       5 阅读