使用标准输入对话框
来源:互联网 发布:电脑软件维修基础教程 编辑:程序博客网 时间:2024/05/18 03:09
使用标准输入对话框
这次演示一下使用标准输入框QInputDialog,QInputDialog类目前提供了4中数据类型的输入:字符串,Int数据,double类数据,下拉列表框。
1、创建inputdialog.h
#ifndef INPUTDIALOG_H#define INPUTDIALOG_H#include <QtGui>class InputDlg : public QDialog{ Q_OBJECTpublic: InputDlg();public: QPushButton *nameButton; QPushButton *sexButton; QPushButton *ageButton; QPushButton *statureButton; QLabel *label1; QLabel *label2; QLabel *label3; QLabel *label4; QLabel *nameLabel; QLabel *sexLabel; QLabel *ageLabel; QLabel *statureLabel;private slots: void slotName(); void slotSex(); void slotAge(); void slotStature();};#endif // INPUTDIALOG_H
2、创建inputdialog.cpp
#include "inputdialog.h"InputDlg::InputDlg(){ setWindowTitle(tr("Input Dialog")); label1 = new QLabel(tr("Name : ")); label2 = new QLabel(tr("Sex : ")); label3 = new QLabel(tr("Age : ")); label4 = new QLabel(tr("Stature : ")); nameLabel = new QLabel(tr("LiMing")); nameLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); sexLabel = new QLabel(tr("male")); sexLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); ageLabel = new QLabel(tr("25")); ageLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); statureLabel = new QLabel(tr("175.5")); statureLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); nameButton = new QPushButton; nameButton->setIcon(QIcon(":/images/btn.png")); sexButton = new QPushButton; sexButton->setIcon(QIcon(":/images/btn.png")); ageButton = new QPushButton; ageButton->setIcon(QIcon(":/images/btn.png")); statureButton = new QPushButton; statureButton->setIcon(QIcon(":/images/btn.png")); QGridLayout *layout = new QGridLayout(this); int name = 0; int sex = 1; int age = 2; int stature = 3; layout->addWidget( label1, name, 0 ); layout->addWidget( nameLabel, name, 1 ); layout->addWidget( nameButton, name, 2 ); layout->addWidget( label2, sex, 0 ); layout->addWidget( sexLabel, sex, 1 ); layout->addWidget( sexButton, sex, 2 ); layout->addWidget( label3, age, 0 ); layout->addWidget( ageLabel, age, 1 ); layout->addWidget( ageButton, age, 2 ); layout->addWidget( label4, stature, 0 ); layout->addWidget( statureLabel, stature, 1 ); layout->addWidget( statureButton, stature, 2 ); layout->setMargin(15); layout->setSpacing(10); layout->setColumnMinimumWidth(1,120); connect(nameButton,SIGNAL(clicked()),this,SLOT(slotName())); connect(sexButton,SIGNAL(clicked()),this,SLOT(slotSex())); connect(ageButton,SIGNAL(clicked()),this,SLOT(slotAge())); connect(statureButton,SIGNAL(clicked()),this,SLOT(slotStature()));}void InputDlg::slotName(){ bool ok; QString name = QInputDialog::getText(this,tr("User Name"), tr("Please input new name"), QLineEdit::Normal, nameLabel->text(),&ok); if(ok && !name.isEmpty()) nameLabel->setText(name);}void InputDlg::slotSex(){ QStringList list; list << tr("male") << tr("female"); bool ok; QString sex = QInputDialog::getItem(this,tr("Sex"), tr("Please select sex"), list,0,false,&ok); if(ok) sexLabel->setText(sex);}void InputDlg::slotAge(){ bool ok; int age = QInputDialog::getInteger(this,tr("User Age"), tr("Please input age:"), ageLabel->text().toInt(), 0,150,1,&ok); if(ok) ageLabel->setText(QString(tr("%1")).arg(age));}void InputDlg::slotStature(){ bool ok; double d = QInputDialog::getDouble(this,tr("Stature"), tr("Please input stature:"), 175.00,0,230.00,1,&ok); if(ok) statureLabel->setText(QString(tr("%1")).arg(d));}
3、创建main.cpp
#include "inputdialog.h"#include <QApplication>int main( int argc, char **argv ){ QApplication app( argc, argv ); InputDlg *input = new InputDlg(); input->show(); return app.exec();}
4、创建资源文件inputdialog.qrc
下面演示一下怎么创建资源文件:
a、在工程目录下新建一个images目录,把资源图片放到images目录下面。
b、创建资源文件,命名inputdialog。
c、用Qt Creator打开inputdialog.qrc文件。
d、添加前缀,填进去”/”就行。
e、添加文件,把images下的图片资源加进去就ok了,保存文件。一定要保证自己的图片名字和代码里的名字和路径保持一致,要不然会找不到资源图片。
5、运行代码
6、代码和图片资源文件
0 0
- 使用标准输入对话框
- 【Qt】标准输入对话框
- QT标准输入对话框
- QT学习 第一章:基本对话框--使用标准输入框
- QT学习 第一章:基本对话框--使用标准输入框
- 【Qt】标准字符串输入对话框
- Qt标准对话框之输入对话框(QInputDialog)
- 使用标准对话框
- 标准对话框的使用
- 标准对话框 AlertDialog 使用
- ComputeLoanUsingInputDialog ( 使用输入对话框)
- 【Qt】标准int类型输入对话框
- 【Qt】标准double类型输入对话框
- QT之标准对话框使用
- Andriod自定义对话框,列表对话框,标准对话框使用案例
- C++ 标准输入 cin 使用
- QT学习 之 对话框 (二) 标准输入框
- 正确地使用SAP的标准对话框函数
- 高精度之快速幂
- Jetty vs. Tomcat
- 算法竞赛入门经典:第六章 数据结构基础 6.11迷宫
- CentOS下使用yum安装配置和使用svn
- 黑马程序员--Java基础学习(数组)第四天
- 使用标准输入对话框
- 多态的理解
- ExecutorService与Executors例子的简单剖析
- 使用技巧,那些可能会忘记的PS小技巧
- 软件测试之独步武林系列(一)
- 算法竞赛入门经典:第六章 数据结构基础 6.12迷宫路径
- Android事件分发机制
- Qt on android 播放视频的实现
- 算法竞赛入门经典:第六章 数据结构基础 6.13拓扑排序