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

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

效果如下

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

castlooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值