【Qt5开发及实例】8、各种对话框!!

1、标准文件对话框

就是点击这个按钮就会打开文件的对话框

具体的实现是:

头文件dialog.h:

#include <QDialog>
#include <QLineEdit>
#include <QGridLayout>      //网格布局
#include <QPushButton>

#include <iostream>

#include "inputdlg.h"
#include "msgboxdlg.h"

using namespace std;

class Dialog : public QDialog
{
  Q_OBJECT

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

private:
  //打开文件的控件
  QPushButton *fileBtn;
  QLineEdit *fileLineEdit;
  QGridLayout *mainLayout;

private slots:    //这个是槽函数
  void showFile();    //打开文件

};

定义实现文件

dialog.cpp

#include "dialog.h"

#include <QFileDialog>
#include <QColorDialog>
#include <QMessageBox>

Dialog::Dialog(QWidget *parent)
  : QDialog(parent)     //构造函数
{
  setWindowTitle("各种标准对话框的实例");   //设置编码格式之后就可以使用中文了

  //文件控件
  fileBtn = new QPushButton;
  fileBtn->setText("wen件标准对话框实例");
  fileLineEdit = new QLineEdit;   //用来显示选择的文件名
  mainLayout = new QGridLayout(this);   //布局设计
  mainLayout->addWidget(fileBtn, 0, 0);
  mainLayout->addWidget(fileLineEdit, 0, 1);

  connect(fileBtn, SIGNAL(clicked()), this, SLOT(showFile()));    //事件关联
}





//显示文件相应
void Dialog::showFile()
{
  QString s = QFileDialog::getOpenFileName(this, "打开", "../ ", "C++ files(*.cpp;*.c;*.h)");    //第三个参数是打开的初始路径,这里我们设置为debug的前一个文件夹
  fileLineEdit->setText(s);
}

Dialog::~Dialog()
{

}

显示结果:




2、标准颜色对话框

显示:



头文件:

dialog.h

#include <QDialog>
#include <QLineEdit>
#include <QGridLayout>      //网格布局
#include <QPushButton>
#include <QFontDialog>

#include <iostream>

#include "inputdlg.h"
#include "msgboxdlg.h"

using namespace std;

class Dialog : public QDialog
{
  Q_OBJECT

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

private:
  //打开文件的控件
  QPushButton *fileBtn;
  QLineEdit *fileLineEdit;
  QGridLayout *mainLayout;
  //这个是标准颜色的控件
  QPushButton *colorBtn;
  QFrame *colorFrame;

private slots:    //这个是槽函数
  void showFile();    //打开文件
  void showColor();   //颜色的打开

};

dialog.cpp

#include "dialog.h"

#include <QFileDialog>
#include <QColorDialog>
#include <QMessageBox>

Dialog::Dialog(QWidget *parent)
  : QDialog(parent)     //构造函数
{
  setWindowTitle("各种标准对话框的实例");   //设置编码格式之后就可以使用中文了

  //文件控件
  fileBtn = new QPushButton;
  fileBtn->setText("wen件标准对话框实例");
  fileLineEdit = new QLineEdit;   //用来显示选择的文件名
  mainLayout = new QGridLayout(this);   //布局设计
  mainLayout->addWidget(fileBtn, 0, 0);
  mainLayout->addWidget(fileLineEdit, 0, 1);

  connect(fileBtn, SIGNAL(clicked()), this, SLOT(showFile()));    //事件关联

  //颜色部分
  colorBtn = new QPushButton;
  colorBtn->setText(tr("yan色标准对话框"));
  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()));

}


//显示颜色
void Dialog::showColor()
{
  /*
   * getColor()函数是标准颜色对话框QColorDialog类的一个静态函数,该函数返回用户选择的颜色值,下面是getColor()函数形式:
   * QColor getColor
   * (
   * 	const QColor& initial=Qt::white,   	//注
   * 	QWidget* parent=0             		//标准颜色对话框的父窗口
   * );
    */
  QColor c = QColorDialog::getColor(Qt::blue);
  if(c.isValid())
    {
      colorFrame->setPalette(QPalette(c));    //这个得到选中的颜色显示出来
    }
}

//显示文件相应
void Dialog::showFi
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值