【C/C++学院】(17)QT标准对话框/toolbox类
2023-09-14 08:57:16 时间
h1 span >各种基本对话框通过调用格子不同的静态函数来完成其功能:
![](http://img.blog.csdn.net/20150227143829985)
#ifndef WIDGET_H #define WIDGET_H #include QWidget #include QPushButton class Widget : public QWidget Q_OBJECT public: Widget(QWidget *parent = 0); ~Widget(); private: QPushButton *btn1; private slots: void on_click(); #endif // WIDGET_H
#include "widget.h" #include QHBoxLayout #include QFileDialog #include QMessageBox Widget::Widget(QWidget *parent) : QWidget(parent) btn1 = new QPushButton; btn1- setText(tr("对话框")); QHBoxLayout *layout1 = new QHBoxLayout(this); layout1- addWidget(btn1); connect(btn1, SIGNAL(clicked()),this, SLOT(on_click())); Widget::~Widget() void Widget::on_click() QString s = QFileDialog::getOpenFileName(this, "open file", "/", "c++ files(*.cpp)"); QMessageBox::information(this, "你打开的文件", s);运行结果:
结论:
getOpenFileName返回的是文件的全路径名称,并不会执行代开文件的操作。操作文件需要代码另外实现。
通过实现类似QQ抽屉效果的实例来介绍QToolBox类的使用
#include "widget.h" #include QApplication #include "drawer.h" int main(int argc, char *argv[]) QApplication a(argc, argv); Drawer d;//实例化 d.resize(200, 500);//调整窗口大小 d.show();//将窗口显示到桌面 return a.exec();
#ifndef DRAWER_H #define DRAWER_H #include QToolBox #include QToolButton class Drawer : public QToolBox Q_OBJECT public: explicit Drawer(QWidget *parent = 0); signals: public slots: private slots: void on_click(); private: QToolButton *toolBtn1; QToolButton *toolBtn2; QToolButton *toolBtn3; QToolButton *toolBtn4; #endif // DRAWER_H
#include "drawer.h" #include QGroupBox #include QVBoxLayout #include QMessageBox Drawer::Drawer(QWidget *parent) : QToolBox(parent) setWindowTitle(tr("QQ"));//设置窗体的标题 toolBtn1 = new QToolButton; toolBtn1- setText(tr("赵云"));//设置按钮标题 toolBtn1- setIcon(QPixmap("zy.jpg"));//设置图像 toolBtn1- setIconSize(QPixmap("zy.jpg").size());//设置按钮大小和图像一致 toolBtn1- setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图像旁边 toolBtn2 = new QToolButton; toolBtn2- setText(tr("关羽"));//设置按钮标题 toolBtn2- setIcon(QPixmap("gy.jpg"));//设置图像 toolBtn2- setIconSize(QPixmap("gy.jpg").size());//设置按钮大小和图像一致 toolBtn2- setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图像旁边 toolBtn3 = new QToolButton; toolBtn3 = new QToolButton; toolBtn3- setText(tr("刘备"));//设置按钮标题 toolBtn3- setIcon(QPixmap("lb.jpg"));//设置图像 toolBtn3- setIconSize(QPixmap("lb.jpg").size());//设置按钮大小和图像一致 toolBtn3- setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图像旁边 toolBtn4 = new QToolButton; toolBtn4 = new QToolButton; toolBtn4- setText(tr("张飞"));//设置按钮标题 toolBtn4- setIcon(QPixmap("zf.jpg"));//设置图像 toolBtn4- setIconSize(QPixmap("zf.jpg").size());//设置按钮大小和图像一致 toolBtn4- setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图像旁边 QGroupBox *groupBox1 = new QGroupBox; QVBoxLayout *layout1 = new QVBoxLayout(groupBox1); layout1- setMargin(10);//布局中各个窗体的显示间距 layout1- setAlignment(Qt::AlignHCenter);//布局中各个窗体的显示位置 layout1- addWidget(toolBtn1); layout1- addWidget(toolBtn2); QGroupBox *groupBox2 = new QGroupBox; QVBoxLayout *layout2 = new QVBoxLayout(groupBox2); layout2- setMargin(10);//布局中各个窗体的显示间距 layout2- setAlignment(Qt::AlignHCenter);//布局中各个窗体的显示位置 layout2- addWidget(toolBtn3); layout2- addWidget(toolBtn4); this- addItem(groupBox1, tr("我的好友")); this- addItem(groupBox2, tr("陌生人")); connect(toolBtn1, SIGNAL(clicked()), this, SLOT(on_click()));
C/C++ Qt 标准Dialog对话框组件应用 在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog 这几种,这里我将总结本人在开发过程中常用到的标准对话框的使用技巧。
C/C++ Qt 自定义Dialog对话框组件应用 在上一篇博文 `《C/C++ Qt 标准Dialog对话框组件应用》` 中我给大家演示了如何使用Qt中内置的标准对话框组件实现基本的数据输入功能。
相关文章
- Qt 之自定义搜索框
- qt录制屏幕_iphone录屏转gif
- QTabWidget样式表右侧_qt qwidget
- C/C++ Qt MdiArea 多窗体组件应用
- C/C++ Qt 编译打包项目
- C/C++ Qt ToolBar 菜单栏组件应用
- C/C++ Qt 选择夹TabWidget组件应用
- C/C++ Qt MdiArea 多窗体组件应用
- C/C++ Qt 数据库QSql增删改查组件应用
- 在Linux上使用Qt开发应用(qtonlinux)
- Qt项目中main主函数及其作用
- Qt QSpinBox使用详解
- Qt 5种标准对话框及使用方法详解
- 调试Linux下Qt的调试实践指南(linux下qt)
- 基于Linux的Qt程序开发实践(linux与qt程序设计)
- 开发Linux下用Qt开发:简单易用的开发方式(linux用qt)
- Linux下的Qt编译器之旅(qt编译器linux)
- Linux与Qt触摸屏技术的完美结合(linuxqt触摸屏)
- 轻松上手,Qt在Linux安装教程,让你快速掌握技巧!(qt在linux安装)
- 探索Linux世界:体验Qt桌面之美(linux桌面qt)
- 文件在Linux上使用Qt开发可执行文件(qtlinux可执行)
- QT快速加载MySQL驱动的简单操作(qt加载mysql驱动)
- Linux下Qt移植的探索与实践(linux移植qt)
- Linux系统中实现Qt串口通信的完美指南(qt串口通信linux)
- Qt与SQLServer结合,提升开发效率(qt和sqlserver)
- 开发Linux应用程序:使用Qt图形界面(linux qt gui)
- 在Qt中编译Oracle环境(qt编译 oracle)