栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

QT:对话框

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QT:对话框

参考《Qt5开发及实例》(第4版)P81

第1步:建立页面项目,项目名“DialogExample”,基类“Dialog”,类名Dialog,取消创建界面

第2步:Dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include 
#include
#include

class Dialog : public QDialog
{
    Q_OBJECT

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

private:
    QPushButton *fileBtn;
    QLineEdit *fileLineEdit;
    QGridLayout *mainLayout;

    //标准颜色对话框使用
    QPushButton *colorBtn;
    QFrame *colorFrame;
    //------------字体对话框---------
    QPushButton *fontBtn;
    QLineEdit *fontQLineEdit;




private slots:
    void showFile();        //槽函数,显示文件名
    void showColor();       //显示颜色
    void showFont();       //显示颜色

};
#endif // DIALOG_H

第3步:Dialog.cpp

#include "dialog.h"
#include 
#include 
#include 
#include
#include
#include


Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    setWindowTitle(tr("各种标准对话框的实例"));
    //----------文件对话框----------------
    fileBtn = new QPushButton;  //按钮对象初始化
    fileBtn->setText("文件标准对话框实例");
    fileLineEdit = new QLineEdit;       //文本框
    //添加布局管理
    mainLayout = new QGridLayout(this); //布局设计,网格化布局
    mainLayout->addWidget(fileBtn,0,0);
    mainLayout->addWidget(fileLineEdit,0,1);

    //添加事件关联
    connect(fileBtn, SIGNAL(clicked()), this, SLOT(showFile()));
        //单击fileBtn后,调用showFile()函数

    //------------颜色对话框---------
    colorBtn = new QPushButton;     //生成颜色按钮
    colorBtn->setText(tr("颜色标准对话框实例"));
    colorFrame = new QFrame;
    colorFrame->setFrameShape(QFrame::Box);
    colorFrame->setAutoFillBackground(true);

    mainLayout->addWidget(colorBtn,1,0);
    mainLayout->addWidget(colorFrame,1,1);
    //添加事件关联
    connect(colorBtn, SIGNAL(clicked()), this, SLOT(showColor()));

    //------------字体对话框---------
    fontBtn = new QPushButton;   //字体按钮
    fontBtn->setText(tr("字体标准对话框实例"));
    fontQLineEdit = new QLineEdit;  //显示更改的字符串
    fontQLineEdit->setText("welcome!");
    mainLayout->addWidget(fontBtn,2,0);
    mainLayout->addWidget(fontQLineEdit,2,1);
    //添加事件关联
    connect(fontBtn, SIGNAL(clicked()), this, SLOT(showFont()));


}

Dialog::~Dialog()
{
}
void Dialog::showFile()        //槽函数
{
   // QString s = QFileDialog::getOpenFileName(this,"open file dialog","/","c++file(*.cpp);;C files(*.c);;Head file(*.h)");

    QString s = QFileDialog::getOpenFileName(this,"open file dialog","/","C++ files(*.cpp);;C files(*.c);;Head files(*.h)");
    fileLineEdit->setText(s);   //输出字符串
}

void Dialog::showColor()       //显示颜色
{
    QColor c = QColorDialog::getColor(Qt::blue);
    if(c.isValid())
    {
        colorFrame->setPalette(QPalette(c));
    }
}
void Dialog::showFont()       //显示颜色
{
    bool ok;
    QFont f = QFontDialog::getFont(&ok);
    if(ok)
    {
        fontQLineEdit->setFont(f);
    }
}

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873238.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号