QT标准对话框
来源:互联网 发布:ubuntu下制作启动u盘 编辑:程序博客网 时间:2024/05/21 19:28
初学QT,完全没有一点概念,在一本书上面看了几遍代码,刚刚对QT有一个简单的认识,与大家分享一下书上面的代码
//CommonDialog.h#ifndef COMMONDIALOG_H#define COMMONDIALOG_H#include <QDialog>class QPushButton;class QLineEdit;class QFrame;class QGridLayout;class StandardDialogs:public QDialog{ Q_OBJECTpublic: StandardDialogs(QWidget *parent = 0, Qt::WindowFlags f = 0); ~StandardDialogs();public: QGridLayout *layout; QPushButton *filePushButton; QPushButton *colorPushButton; QPushButton *fontPushButton; QLineEdit *fileLineEdit; QLineEdit *fontLineEdit; QFrame *colorFrame;private slots: void slotOpenFileDlg(); void slotOpenColorDlg(); void slotOpenFontDlg();};#endif // COMMONDIALOG_H
//CommonDialog.cpp#include "CommonDialog.h"#include <QtGui>StandardDialogs::StandardDialogs(QWidget *parent, Qt::WindowFlags f):QDialog(parent, f){ setWindowTitle(tr("Standard Dialogs")); layout = new QGridLayout(this); filePushButton = new QPushButton; filePushButton->setText(tr("File Dialog")); colorPushButton = new QPushButton; colorPushButton->setText(tr("Color Dialog")); fontPushButton = new QPushButton; fontPushButton->setText(tr("Font Dialog")); fileLineEdit = new QLineEdit; colorFrame = new QFrame; colorFrame->setFrameShape(QFrame::Box); colorFrame->setAutoFillBackground(true); fontLineEdit = new QLineEdit; fontLineEdit->setText(tr("Hello World")); layout->addWidget(filePushButton, 0, 0); layout->addWidget(fileLineEdit, 0, 1); layout->addWidget(colorPushButton, 1, 0); layout->addWidget(colorFrame, 1, 1); layout->addWidget(fontPushButton, 2, 0); layout->addWidget(fontLineEdit, 2, 1); layout->setMargin(15); layout->setSpacing(10); connect(filePushButton, SIGNAL(clicked()), this, SLOT(slotOpenFileDlg())); connect(colorPushButton, SIGNAL(clicked()), this, SLOT(slotOpenColorDlg())); connect(fontPushButton, SIGNAL(clicked()), this, SLOT(slotOpenFontDlg()));}StandardDialogs::~StandardDialogs(){}void StandardDialogs::slotOpenFileDlg(){ QString s = QFileDialog::getOpenFileName( this, "open file dialog", "/", "C++ files(*.cpp);;C files(*.c);;Head files(*.h)"); fileLineEdit->setText(s.toAscii());}void StandardDialogs::slotOpenColorDlg(){ QColor color = QColorDialog::getColor(Qt::blue); if(color.isValid()) { colorFrame->setPalette(QPalette(color)); }}void StandardDialogs::slotOpenFontDlg(){ bool ok; QFont font = QFontDialog::getFont(&ok); if(ok) { fontLineEdit->setFont(font); }}
//main.cpp#include <QApplication>#include "CommonDialog.h"int main(int argc, char *argv[]){ QApplication app(argc, argv); StandardDialogs *sd = new StandardDialogs; sd->show(); return app.exec();}
程序运行截图:
- Qt标准对话框
- QT标准对话框
- Qt标准对话框
- Qt标准对话框
- QT 标准对话框
- QT 内置标准对话框
- 【Qt】标准文件对话框
- 【Qt】标准输入对话框
- Qt标准对话框实现
- Qt标准对话框
- QT之标准对话框
- QT:标准对话框
- QT标准输入对话框
- Qt标准对话框之QColorDialog
- Qt标准对话框之QMessageBox
- Qt标准对话框之QFileDialog
- Qt标准对话框之QMessageBox
- Qt标准对话框之QMessageBox
- SuSE linux 配置XDMCP
- 虚拟机安装好ubuntu之后的问题
- 如何写好数学建模竞赛答卷
- 2011 09 04 第一周 周总结
- Rome wasn't built in a day
- QT标准对话框
- 二叉树初始化及三种遍历方法
- Android开发环境的搭建两步走(二)
- 实时传输协议(RTP)和实时控制协议(RTCP)
- E3 TREE 开发准备及简单树实现代码。
- Mozilla Rhino:使用java语言来解释和执行javascript脚本(转)
- sf上将cvs切换成svn经验
- Java程序练习-A-黑帝君临
- add_disk() (本文纠错中)