Qt中常见对话框的使用/QMessageBox/QFontDialog/QFileDialog
2015-11-08 10:09
621 查看
Qt为用户提供了许多对话框的类,用来进行交互操作,如常见的关于对话框(QMessageBox),字体对话框(QFontDialog),颜色对话框(QColorDialog),文件对话框(QFileDialog)等。本文演示在Visual Stuido2010中创建创建常用对话框及相关函数的使用方法。
一.创建基于Qt Application的工程,基类选择QWidget.
二.手动完成类的设计,在dlgwidget.h中完成类的声明,在dlgwidget.cpp中完成类的定义。
入口函数main在创建工程时由系统自己创建,可保持不变。
三.编译运行
单击“About”按钮,会弹出如下对话框,
单击"Font"按钮,结果如下:
单击“Color”按钮,结果如下:
单击“File”按钮,结果如下:
一.创建基于Qt Application的工程,基类选择QWidget.
二.手动完成类的设计,在dlgwidget.h中完成类的声明,在dlgwidget.cpp中完成类的定义。
#ifndef DLGWIDGET_H #define DLGWIDGET_H #include <QtGui/QWidget> #include "ui_dlgwidget.h" #include < QApplication > #include < QPushButton > #include < QMessageBox > #include < QFont > #include < QFontDialog > #include < QColor > #include < QColorDialog > #include < QString > #include < QFileDialog > #include < QHBoxLayout > class DlgWidget : public QWidget { Q_OBJECT public: DlgWidget(QWidget *parent = 0, Qt::WFlags flags = 0); ~DlgWidget(); private: Ui::DlgWidgetClass ui; QPushButton *btn_About; QPushButton *btn_Font; QPushButton *btn_Color; QPushButton *btn_File; QHBoxLayout *layout; signals: public slots: //槽函数 private slots: void my_about(); void my_font(); void my_file(); void my_color(); }; #endif // DLGWIDGET_H
#include "dlgwidget.h" //构造函数 DlgWidget::DlgWidget(QWidget *parent, Qt::WFlags flags) : QWidget(parent, flags) { ui.setupUi(this); setWindowTitle("Test&Dialog"); btn_About = new QPushButton("&About"); btn_Font = new QPushButton("&Font"); btn_Color = new QPushButton("&Color"); btn_File = new QPushButton("&File"); connect(btn_About,SIGNAL(clicked()),this,SLOT(my_about())); //连接信号与槽函数 connect(btn_Font,SIGNAL(clicked()),this,SLOT(my_font())); connect(btn_Color,SIGNAL(clicked()),this,SLOT(my_color())); connect(btn_File,SIGNAL(clicked()),this,SLOT(my_file())); layout = new QHBoxLayout(); layout->addWidget(btn_About); layout->addWidget(btn_Font); layout->addWidget(btn_Color); layout->addWidget(btn_File); setLayout(layout); } //析构函数 DlgWidget::~DlgWidget() { } //槽函数 void DlgWidget::my_about() { QMessageBox::about(this,"about","this is a about dialog\n"); } void DlgWidget::my_font() { bool ifok; QFont font = QFontDialog::getFont(&ifok,this); } void DlgWidget::my_color() { QColor color = QColorDialog::getColor(Qt::green,this); //初始颜色为绿色 } void DlgWidget::my_file() { QString fileName = QFileDialog::getOpenFileName(this,tr("file open"),"/",tr("All Files(*));;TextFiles(*.txt)")); }
入口函数main在创建工程时由系统自己创建,可保持不变。
#include "dlgwidget.h" #include <QtGui/QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); DlgWidget w; w.show(); return a.exec(); }
三.编译运行
单击“About”按钮,会弹出如下对话框,
单击"Font"按钮,结果如下:
单击“Color”按钮,结果如下:
单击“File”按钮,结果如下:
相关文章推荐
- QT 4.87 changes
- Tslib和Qt 4.8.4与在开发板上的移植
- Qt在Windows下的三种编程环境搭建
- UFT学习过程中一些小经验
- Qt5多国语言国际化
- Qt图形视图框架
- Qtcreator 常用快捷键总结
- QT调用打印机打印html网页及文件
- 打开qt出现提示无法覆盖文件 /home/xxx/.config/Qtcreator/qtversion.xml : Permission denied
- QT5.5下的USB HID热插拔检测,未全部完成,聊作记录。
- 基于Qt的FreeType字体轮廓解析
- QT中DBus的用法
- qt5 ”cannot open main.obj8942.0.jom to write“错误
- 我的QT5学习之路(目录)
- 在qt中安装使用mysql
- QT5入门之33-窗口数据传递
- QThread线程学习笔记
- Qt学习 QVariant类(转)
- WIn10 64bit + Vs2013 + CGAL-4.7+Boost_1_59 +Qt5.5.1 +CMake安装
- QT 打不开工程