QT常用对话框
颜色选择对话框 QColorDialog
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPushButton>
#include <QColorDialog>
#include <QGridLayout>
#include <QFrame>
QT_BEGIN_NAMESPACE
namespace Ui {
class Dialog;
}
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private:
Ui::Dialog *ui;
QPushButton *colorButton;
QGridLayout *layout;
QFrame *frame; //QFrame类是用来创建矩形框的,可以设置边框、背景颜色等属性
private slots:
void on_colorButton_clicked();
};
#endif // DIALOG_H
#include "dialog.h"
#include "./ui_dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
setWindowTitle("Color Picker");
layout =new QGridLayout(this);
colorButton = new QPushButton("Color" );
frame = new QFrame();
frame->setAutoFillBackground(true);//设置背景颜色
frame->setFrameShape(QFrame::Box);
layout->addWidget(colorButton,0,0);
layout->addWidget(frame,0,1);
connect(colorButton, SIGNAL(clicked()),
this, SLOT(on_colorButton_clicked()));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_colorButton_clicked(){
QColor color = QColorDialog::getColor();
if(color.isValid()){
frame->setStyleSheet("background-color: "+color.name());
}
this->setStyleSheet("background-color: "+color.name());
}
字体选择对话框 QFontDialog
#ifndef DIALOG_H
#define DIALOG_H
//字体对话框测试
#include <QDialog>
#include <QFontDialog>
#include <QPushButton>
#include <QBoxLayout>
#include <QLineEdit>
QT_BEGIN_NAMESPACE
namespace Ui {
class Dialog;
}
QT_END_NAMESPACE
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = nullptr);
~Dialog();
private:
Ui::Dialog *ui;
QPushButton *button;
QLineEdit *label;
private slots:
void on_pushButton_clicked();
};
#endif // DIALOG_H
#include "dialog.h"
#include "./ui_dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
QHBoxLayout *layout = new QHBoxLayout(this);
button = new QPus