PyQt5_QInputDialog_输入对话框


# QInputDialog
#
#              提供一个简单方便地对话框,获得来自用户输入的单个值
#               单个值 可以是 数字,字符串 列表中的项目
#               通常会设置一个标签以告知用户输入的内容

from PyQt5.Qt import *

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('QInputDialog')
        self.resize(500,500)
        self.iniUI()

    def iniUI(self):
        # self.id_getInt()
        # self.id_getDouble()
        # self.id_getText()
        # self.id_getMultiLineText()
        # self.id_setOption()
        self.id_Event()
    ##############################################使用静态方法,快速创建输入对话框



    def id_getInt(self):
        # 父控件,大标题,小标题,默认值,最小值,最大值,步长
        result = QInputDialog.getInt(self,'整形数据获取框','请输入整型数据',8,0,200,3)
        # result_int 返回一个两元素元组,第一个元素是 输入的整型数据,第二个元素标识确认True取消False 键
        print(result)

    def id_getDouble(self):
        # 父控件,大标题,小标题,默认值,最小值,最大值,小数点位数
        result = QInputDialog.getDouble(self,'浮点型数据获取框','请输入浮点型数据',8.00,0,200,2)
        print(result)

    def id_getText(self):
        result = QInputDialog.getText(self,'单行文本获取框','请输入单行文本',echo=QLineEdit.Password)
        print(result)

    def id_getMultiLineText(self):
        result = QInputDialog.getMultiLineText(self,'多行文本获取框','请输入多行文本:','默认文本内容')
        print(result)
    #############################使用静态方法,快速创建输入对话框

    
    
    ##############################################输入对话框 展示设置
    def id_setOption(self):
        ind = QInputDialog(self,Qt.FramelessWindowHint)#无边框样式
        # ind.setOption(QInputDialog.UseListViewForComboBoxItems)#将setComboBox设置的列表摊开展示
        ind.setComboBoxItems(['1','2','acd','qwe'])
        ind.show()
    #############################输入对话框 展示设置


    ##############################################输入对话框 输入模式设置
    #
    # 输入 整型 浮点型 文本 等类型限制的设置
    #
    def id_setInputMode(self):
        ind = QInputDialog(self,Qt.FramelessWindowHint)
        # ind.setInputMode(QInputDialog.IntInput)   #整型
        ind.setInputMode(QInputDialog.DoubleInput)  #浮点型
        # ind.setInputMode(QInputDialog.TextInput)  #字符型
        ind.setComboBoxItems(['1','2','qwe'])       #设置下拉列表的模式
        ind.show()
    #############################输入对话框 输入模式设置


    ##############################################输入对话框 标签文本设置
    #
    # 标签文本设置
    #
    def id_setText(self):
        ind = QInputDialog(self)
        ind.setLabelText('请输入…………(小标签)')
        ind.setOkButtonText('朕知道了')
        ind.setCancelButtonText('朕不同意')
        ind.show()
    #############################输入对话框 标签文本设置
    
    
    ##############################################输入对话框 的细节设置
    #
    # 整型数据对话框
    #               id.setIntMaximum()
    #               id.setIntMinimum()
    #               id.setIntRange()
    #               id.setIntStep()
    #               id.setIntValue()
    # 浮点类型对话框
    #               id.setDoubleDecimals()
    #               id.setDoubleStep()      #设置浮点型输入框的数据步长
    # 字符串类型对话框
    #               id.setTextEchoMode(QLineEdit.Password )#设置文本输出模式,明文密文

    #
    # 下拉列表对话框
    #               id.setComboBoxItems( Iter )
    #               id.setComboBoxEditable(True)
    #############################输入对话框 的细节设置

    ##############################################输入对话框 信号相关
    #
    # 三种数据类型,两种动作行为   6种触发机制
    #
    # id.intValueChanged.connect(lambda int:)
    # id.doubleValueChanged.connect(lambda double:)
    # id.textValueChanged.connect(lambda str:)

    # id.intValueSelected.connect(lambda int:)
    # id.doubleValueSelected.connect(lambda double:)
    # id.textValueSelected.connect(lambda str:)
    #
    def id_Event(self):
        id_int = QInputDialog(self)
        id_int.setInputMode(QInputDialog.IntInput)
        id_int.intValueChanged.connect(lambda int_:print(int_))
        id_int.intValueSelected.connect(lambda int_:print('INT被选中:',int_))
        id_int.show()
    #############################输入对话框 信号相关


if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = MyWindow()
    win.show()
    sys.exit(app.exec_())
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值