运行界面
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3593af227c5e535b1f8907a464631bed.png)
实现代码
#ifndef QWDLGMANUAL_H
#define QWDLGMANUAL_H
#include <QDialog>
#include <QCheckBox>
#include <QRadioButton>
#include <QPlainTextEdit>
#include <QPushButton>
class QWDlgManual : public QDialog
{
Q_OBJECT
private:
QCheckBox *chkBoxUnder;
QCheckBox *chkBoxItalic;
QCheckBox *chkBoxBold;
QRadioButton *rBtnBlack;
QRadioButton *rBtnRed;
QRadioButton *rBtnBlue;
QPlainTextEdit *txtEdit;
QPushButton *btnOK;
QPushButton *btnCancel;
QPushButton *btnClose;
void initUI();
void iniSignalSlots();
private slots:
void on_chkBoxUnder(bool checked);
void on_chkBoxItalic(bool checked);
void on_chkBoxBold(bool checked);
void setTextFontColor();
public:
explicit QWDlgManual(QWidget *parent = 0);
~QWDlgManual();
};
#endif
#include "qwdlgmanual.h"
#include <QHBoxLayout>
void QWDlgManual::initUI()
{
chkBoxUnder=new QCheckBox(tr("Underline"));
chkBoxItalic= new QCheckBox(tr("Italic"));
chkBoxBold= new QCheckBox(tr("Bold"));
QHBoxLayout *HLay1=new QHBoxLayout;
HLay1->addWidget(chkBoxBold);
HLay1->addWidget(chkBoxItalic);
HLay1->addWidget(chkBoxUnder);
rBtnBlack = new QRadioButton(tr("Black"));
rBtnBlue = new QRadioButton(tr("Blue"));
rBtnRed = new QRadioButton(tr("Red"));
rBtnBlack->setChecked(true);
QHBoxLayout *HLay2 = new QHBoxLayout;
HLay2->addWidget(rBtnBlack);
HLay2->addWidget(rBtnBlue);
HLay2->addWidget(rBtnRed);
btnCancel = new QPushButton(tr("取消"));
btnClose = new QPushButton(tr("退出"));
btnOK = new QPushButton(tr("确定"));
QHBoxLayout *HLay3 = new QHBoxLayout;
HLay3->addWidget(btnCancel);
HLay3->addWidget(btnOK);
HLay3->addStretch();
HLay3->addWidget(btnClose);
txtEdit = new QPlainTextEdit;
txtEdit->setPlainText("Hello World \n\n It is my demo.");
QFont font = txtEdit->font();
font.setPointSize(20);
txtEdit->setFont(font);
QVBoxLayout *VLay =new QVBoxLayout;
VLay->addLayout(HLay1);
VLay->addLayout(HLay2);
VLay->addWidget(txtEdit);
VLay->addLayout(HLay3);
setLayout(VLay);
}
void QWDlgManual::iniSignalSlots()
{
connect(chkBoxBold,SIGNAL(clicked(bool)),this,SLOT(on_chkBoxBold(bool)));
connect(chkBoxItalic,SIGNAL(clicked(bool)),this,SLOT(on_chkBoxItalic(bool)));
connect(chkBoxUnder,SIGNAL(clicked(bool)),this,SLOT(on_chkBoxUnder(bool)));
connect(rBtnBlack,SIGNAL(clicked()),this,SLOT(setTextFontColor()));
connect(rBtnBlue,SIGNAL(clicked()),this,SLOT(setTextFontColor()));
connect(rBtnRed,SIGNAL(clicked()),this,SLOT(setTextFontColor()));
connect(btnOK,SIGNAL(clicked()),this,SLOT(accept()));
connect(btnCancel,SIGNAL(clicked()),this,SLOT(reject()));
connect(btnClose,SIGNAL(clicked()),this,SLOT(close()));
}
void QWDlgManual::on_chkBoxUnder(bool checked)
{
QFont font=txtEdit->font();
font.setUnderline(checked);
txtEdit->setFont(font);
}
void QWDlgManual::on_chkBoxItalic(bool checked)
{
QFont font=txtEdit->font();
font.setItalic(checked);
txtEdit->setFont(font);
}
void QWDlgManual::on_chkBoxBold(bool checked)
{
QFont font=txtEdit->font();
font.setBold(checked);
txtEdit->setFont(font);
}
void QWDlgManual::setTextFontColor()
{
QPalette palt=txtEdit->palette();
if(rBtnBlue->isChecked())
{
palt.setColor(QPalette::Text,Qt::blue);
}
else if(rBtnRed->isChecked())
{
palt.setColor(QPalette::Text,Qt::red);
}
else if(rBtnBlack->isChecked())
{
palt.setColor(QPalette::Text,Qt::black);
}
else
{
palt.setColor(QPalette::Text,Qt::black);
}
txtEdit->setPalette(palt);
}
QWDlgManual::QWDlgManual(QWidget *parent) :
QDialog(parent)
{
initUI();
iniSignalSlots();
setWindowTitle("Form created mannually");
}
QWDlgManual::~QWDlgManual()
{
}