Python GUI教程:QInputDialog的使用

一、QInputDialog简介

Qt提供了一个QInputDialog类,QInputDialogDialog类提供了一种简单方便的对话框来获得用户的单个输入信息,目前提供了4种数据类型的输入,可以使一个字符串、一个Int类型数据、一个double类型数据或者是一个下拉列表框的条目。一个标准输入对话框的基本结构如下图所示:

其中包含一个提示标签,一个输入控件。如实调用字符串输入框,则为一个QLineEdit;若是调用Int类型或都报了类型输入框,则为一个QSpinBox;若是调用列表条目输入框,则为一个QComboBox;还包括一个确定输入(OK)按钮和一个取消输入(Cancel)按钮。

输入的类型:
1)字符串型(方法=QInputDialog.getText); 
2)Int类型数据(方法=QInputDialog.getInt); 
3)double类型数据(方法=QInputDialog.getDouble); 
4)下拉列表框的条目(方法=QInputDialog.getItem)。

QInputDialog继承自QDialog,提供简单输入的对话框: 

class QInputDialog(QDialog) 

QInputDialog(QWidget parent=None, Qt.WindowFlags flags=0)

二、QInputDialog的静态函数 

2.1、getText() 

QInputDialog的getText()函数弹出标准字符串输入对话框,getText()函数原型如下: 
QString getText( QWidget * parent, # 标准输入对话框的父窗口 
    const QString & title, # 输入对话框的标题名 
    const QString & label,# 标准输入对话框的标签提示 
    const QString & text = QString(), # 标准字符串输入对话框弹出时QLineEdit控件中默认出现的文字 
    bool * ok = 0, # 用于指示标准输入对话框的哪个按钮被触发,若ok为true,则表示用户单击了OK(确定)按钮,若ok为false,则表示用户单击了Cancel(取消)按钮 
    Qt::WindowFlags flags = 0, # 知名标准输入对话框的窗体标识 
    Qt::InputMethodHints inputMethodHints = Qt::ImhNone 
); [static] 

2.2、getItem()

QInputDialog的getItem()函数弹出标准条目选择对话框,getItem()函数原型如下: 
QString getItem( 
    QWidget * parent, # 标准输入对话框的父窗口 
    const QString & title, # 标准输入对话框的标题名 
    const QString & label, # 标准输入对话框的标签提示 
    const QStringList & list, # 指定标准输入对话框中QComboBox控件显示的可选条目,为一个QStringList对象 
    int current = 0, # 指定标准输入对话框中QComboBox控件显示的可选条目,为一个QStringList对象 
    bool editable = true, # 指定QComboBox控件中显示的文字是否可编辑; 
    bool * ok = 0, # 用于指定标准输入对话框的哪个那妞被触发,若ok为false,则表示用户单击了Cancel(取消)按钮; 
    Qt::WindowFlags f = 0 
)
# [static]用于指定标准输入对话框的哪个那妞被触发,若ok为false,则表示用户单击了Cancel(取消)按钮; 

2.3、getInteger() 

QInputDialog的getInteger()函数弹出标准int类型输入对话框,getInteger()函数原型如下: 
int getInteger( 
    QWidget * parent, 父窗口 
    const QString & title,标题名 
    const QString & label, 标签提示 
    int value = 0, 指定标准输入对话框中QSpinBox控件默认显示值 
    int minValue = -2147483647, 
    int maxValue = 2147483647, 指定QSpinBoxBox控件的数值范围,最小和最大值 
    int step = 1, step指定QSpinBox控件的步进值(即步长) 
    bool * ok = 0, 
    Qt::WindowFlags f = 0 
)

2.4、getDouble() 

QInputDialog的getDouble()函数弹出标准double类型输入对话框,getDouble()函数原型如下: 
double getDouble( 
    QWidget * parent, 
    const QString & title, 
    const QString & label,# 标签提示 
    double value = 0, # 指定标准输入对话框中QSpinBox控件默认显示值 
    double minValue = -2147483647, 
    double maxValue 2147483647, 
    int decimals = 1, # 指定QSpinBox控件的浮动数的小数点位数 
    bool * ok = 0, 
    Qt::WindowFlags f = 0 
)

三、简单使用方法

3.1、字符串

def getText(self):
    text,boolAction = QInputDialog.getText(self,'获取信息','请输入数据库名',QLineEdit.Normal)
    if okPressed and text != '':
        print(text)
字符串对话框

3.2、int

def getInteger(self):
    i, okPressed = QInputDialog.getInt(self,"选择数字对话框","选择一个数字:", 28, 0, 100, 1)
    if okPressed:
        print(i)
int对话框

3.3、double

def getDouble(self):
    d, okPressed = QInputDialog.getDouble(self, "浮点数","选择浮点数:", 10.05, 0, 100, 10)
    if okPressed:
        print(d)
浮点数对话框

3.4、条目

def getChoice(self):   #Get item/choice
    items = ("Red", "Blue", "Green")
    item, okPressed = QInputDialog.getItem(self, "选择颜色对话框", "颜色:", items, 0, False)
    if okPressed and item:
        print(item)
多选项对话框

猜你喜欢

转载自blog.csdn.net/u011146423/article/details/86160657