inputformdialog为qt5提供了一个简单的多类型输入对话框
input-form-dialog的Python项目详细描述
输入窗体对话框
inputformdialog是一个简单的模块,它为qt5提供了一个多类型的输入对话框。
inputformdialog的目的是补充QInputDialog的静态get方法,例如QInputDialog.getText
或QInputDialog.getInt
。
详细信息
使用inputformdialog很简单。首先创建一个字典来定义表单条目及其默认值。如果输入小部件的顺序很重要,请使用OrderedDict
。
目前支持以下输入查询:
- 布尔型
- 颜色
- 数字
- 文本
- 选项列表
- 二维/三维矢量
其次,调用get_input()
函数并将数据对象作为参数传递。如果用户接受对话框,则数据对象将保存用户选择的新值。
此外,您可能需要创建FormOptions
对象并指定一些选项来控制对话框使用的小部件的属性。
目前提供以下选项:
- 设置数值限制、步长和小数精度
- 设置是否使用组合框或单选按钮组
- 设置组合框/单选按钮组是否返回当前项文本或索引
示例
# QApplication must be running prior to calling get_inputfromcollectionsimportOrderedDictfromQtimportQtGui,QtWidgetsfrominput_form_dialogimportFormOptions,get_input# Define form inputsdata=OrderedDict()data["Bool"]=Truedata['Color']=QtGui.QColor('red')data['Int']=1data['String']='Test'data['ComboBox']=['One','Two']data['Vector2']=QtGui.QVector2D(10.0,5.0)# Define form optionsoptions=FormOptions()options.list_displays_as_radios=Trueoptions.list_returns_index=True# Ask user for input and retrieve dataifget_input('Example',data,options):print(data['Bool'])print(data['Color'])print(data['Int'])print(data['String'])print(data['ComboBox'])print(data['Vector2'])