QT标准对话框

dialog头文件

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include<QPushButton>
#include<QLineEdit>
#include<QGridLayout>
#include<QFont>
class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
private slots:
    void ShowFileDialog();
    void showColorDialog();
    void showFontDialog();
private:
 QPushButton *m_fileBtn; //打开文件对话框
 QLineEdit *m_fileLineEdit; //显示所选文件路径
 QGridLayout * m_mainLayout; //布局管理器

 QPushButton *m_colorBtn;  //打开颜色对话框
 QFrame *m_colorFrame; //显示所选颜色的属性

 QPushButton *m_fontBtn;  //打开字体对话框
 QLineEdit * m_fontShow;  //用来显示字体的对话框
 QFont *m_font;  //显示悬着的字体样式

};

#endif // DIALOG_H

dialog CPP文件

#include "dialog.h"
#include<QFileDialog>
#include<QColorDialog>
#include<QFontDialog>
Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    this->setWindowTitle("标准框");
    m_fileBtn=new QPushButton("文件标准对话框");
    m_fileLineEdit=new QLineEdit;

    m_mainLayout=new QGridLayout(this);

    m_mainLayout->addWidget(m_fileBtn,0,0);
    m_mainLayout->addWidget(m_fileLineEdit,0,1);
    connect(m_fileBtn,&QPushButton::clicked,this,&Dialog::ShowFileDialog);


    //颜色标准对话框
    m_colorBtn =new QPushButton("颜色标准对话框");
    //当标准框没有指定父类的时候 再被添加到布局管理器的时候 其所有的父类重新分配
    //初始化边框的时候 需要设置边框属性
    m_colorFrame=new QFrame;
    m_colorFrame->setFrameStyle(QFrame::Box);
    //设置填充背景属性
    m_colorFrame->setAutoFillBackground(true);
    m_mainLayout->addWidget(m_colorBtn,1,0);
    m_mainLayout->addWidget(m_colorFrame,1,1);
    connect(m_colorBtn,&QPushButton::clicked,this,&Dialog::showColorDialog);


    //显示字体对话框
    m_fontBtn =new QPushButton("标准字体对话框");
    m_fontShow =new QLineEdit("你好 明天");  //字体栏
    m_font=new QFont;

    m_mainLayout->addWidget(m_fontBtn,2,0);
    m_mainLayout->addWidget(m_fontShow,2,1);

    connect(m_fontBtn,&QPushButton::clicked,this,&Dialog::showFontDialog);
}

Dialog::~Dialog()
{

}

void Dialog::ShowFileDialog()
{
    //返回值是文件的路径
    //在当前路径下寻找格式为C++ C H的文件
     QString FilePath=QFileDialog::getOpenFileName(this,"文件对话框",".",
                                  "C++ files(*.cpp);;C files(*.c);;Header files(*.h)");


     m_fileLineEdit->setText(FilePath);
}

void Dialog::showColorDialog()
{
    //当用户选择的时候 就会在返回用户选择的颜色
   QColor m_color= QColorDialog::getColor(Qt::yellow);

   if(m_color.isValid())
   {
       m_colorFrame->setPalette(QPalette(m_color));
   }
}

void Dialog::showFontDialog()
{
    bool ok;
   QFont font= QFontDialog::getFont(&ok);
   if(ok)
   {
       m_fontShow->setFont(font);
   }
}

效果如下
在这里插入图片描述
可以把查看文件 颜色 以及 字体对话框里面所有属性 ,并将其效果在右侧对话框中显示

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值