zoukankan      html  css  js  c++  java
  • PyQt5 控件学习(一个一个学习之QInputDialog)

    QInputDialog 继承图:

    QInputDialog 描述:

    QInputDialog 继承:

    它继承自QDialog 

    QInputDialog 功能作用:

    QInputDialog 功能作用之常用静态方法:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            # ret = QInputDialog.getInt(self,"请输入一个值","Hello World",0,step= 8)
            # ret = QInputDialog.getDouble(self,"请输入一个值","Hello World",0.0,decimals = 3)
            # ret = QInputDialog.getText(self,"请输入","Hello World",echo=QLineEdit.Password)
            # ret = QInputDialog.getMultiLineText(self,"请输入","Hello World","default")
            ret = QInputDialog.getItem(self,"请输入","Hello World",["1","2","3"],2,True)
    
            print(ret)
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    这些静态方法,简单有效快速!

    QInputDialog 功能作用之构造函数:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            inputDialog = QInputDialog(self,Qt.FramelessWindowHint)  #第二个参数flags在QWidget中讲过(这里它是没有边框)
    
            inputDialog.show()
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QInputDialog 功能作用之选项设置:

    下面看下:UseListViewForComboBoxItems  这个选项 。它是将下拉的选项变为列表视图

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            inputDialog = QInputDialog(self,Qt.FramelessWindowHint)  #第二个参数flags在QWidget中讲过(这里它是没有边框)
    
    
            #选项设置
            inputDialog.setComboBoxItems(["1","2","3"])
                        #这里设置列表视图 
            inputDialog.setOption(QInputDialog.UseListViewForComboBoxItems)
    
    
    
            inputDialog.show()
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QInputDialog 功能作用之输入模式:

    QInputDialog 功能作用之界面文本设置:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            inputDialog = QInputDialog(self,Qt.FramelessWindowHint)  #第二个参数flags在QWidget中讲过(这里它是没有边框)
    
    
            inputDialog.setLabelText("请输入你的姓名")
            inputDialog.setOkButtonText("好的")
            inputDialog.setCancelButtonText("不了")
    
    
            inputDialog.show()
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QInputDialog 功能作用之各个小分类设置:

    下面只来看浮点型的步长设置:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            inputDialog = QInputDialog(self,Qt.FramelessWindowHint)  #第二个参数flags在QWidget中讲过(这里它是没有边框)
    
    
            #输入模式
            inputDialog.setInputMode(QInputDialog.DoubleInput)
    
            inputDialog.setDoubleRange(9.9,19.9)
            inputDialog.setDoubleStep(2)
            inputDialog.setDoubleDecimals(3)
    
    
    
            inputDialog.show()
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code
    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            inputDialog = QInputDialog(self,Qt.FramelessWindowHint)  #第二个参数flags在QWidget中讲过(这里它是没有边框)
    
    
            #输入模式
            inputDialog.setInputMode(QInputDialog.TextInput)
    
            inputDialog.setComboBoxItems(["1","2","3"])
    
            inputDialog.setComboBoxEditable(True)  #设置可编辑 
    
    
    
            inputDialog.show()
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QInputDialog 信号:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QInputDialog的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            inputDialog = QInputDialog(self,Qt.FramelessWindowHint)  #第二个参数flags在QWidget中讲过(这里它是没有边框)
    
    
            #信号
            inputDialog.setInputMode(QInputDialog.TextInput)
    
            inputDialog.setComboBoxItems(["1","2","3"])
    
            inputDialog.intValueChanged.connect(lambda val:print("整型数据发生改变",val))
            inputDialog.intValueSelected.connect(lambda val:print("整型数据被选中",val))
    
            inputDialog.doubleValueChanged.connect(lambda val:print("浮点型数据发生改变",val))
            inputDialog.doubleValueSelected.connect(lambda val:print("浮点型数据被选中",val))
    
            inputDialog.textValueChanged.connect(lambda val:print("字符串型数据发生改变",val))
            inputDialog.textValueSelected.connect(lambda val:print("字符串型数据被选中",val))
    
    
            inputDialog.show()
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    总结: 

    到此,就把所有的对话框的输入控件说完了,

    下面是最后一个输入控件类别:日期的输入控件:

    QCalendarWidget:https://www.cnblogs.com/zach0812/p/11394594.html  

  • 相关阅读:
    HDU 1423
    POJ 3264
    POJ 3177
    CodeForces 81A
    SPOJ RATING
    ZOJ 2588
    POJ 1523
    POJ 3667
    递归
    数据结构
  • 原文地址:https://www.cnblogs.com/zach0812/p/11392844.html
Copyright © 2011-2022 走看看