zoukankan      html  css  js  c++  java
  • PyQt5 对话框

    Qt对话框有普通消息框,还有文字,颜色,字体等多种对话框类控件。直接上代码好了。

    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    import sys
    class SDialog(QWidget):
        def __init__(self, parent = None):
            super(SDialog, self).__init__(parent)
            self.initUI()
    
        def initUI(self):
            self.setWindowTitle("Dialog")
            self.setGeometry(300,300,450,250)
            #设定窗口标题和窗口的大小和位置。
    
            inputButton = QPushButton(self.tr("用户输入对话框"))
            fileButton = QPushButton(self.tr("文件选择对话框"))
            colorButton = QPushButton(self.tr("颜色选择对话框"))
            fontButton = QPushButton(self.tr("字体选择对话框"))
    
            self.inputL = QLineEdit()
            self.filelL = QLineEdit()
            # 创建两个QlineEdit实例,来显示选择的内容
            self.colorFrame = QFrame()
            self.colorFrame.setFrameShape(QFrame.Box)
            self.colorFrame.setAutoFillBackground(True)
            # 创建一个Frame实例用来显示颜色
            self.fontL = QLabel("Hello World!")
    
            grid = QGridLayout()
            grid.addWidget(inputButton, 1, 0)
            grid.addWidget(self.inputL, 1, 1)
            grid.addWidget(fileButton, 2, 0)
            grid.addWidget(self.filelL, 2, 1)
            grid.addWidget(colorButton, 3, 0)
            grid.addWidget(self.colorFrame, 3, 1)
            grid.addWidget(fontButton, 4, 0)
            grid.addWidget(self.fontL, 4, 1)
            self.setLayout(grid)
            #网格类布局
    
            inputButton.clicked.connect(self.openInput)
            fileButton.clicked.connect(self.openFile)
            colorButton.clicked.connect(self.openColor)
            fontButton.clicked.connect(self.openFont)
            #把四个按钮控件的clicked()信号和槽连接
    
        def openInput(self):
            t, ok = QInputDialog.getText(self, "用户输入对话框",  "请输入任意内容" )
            if ok:
                self.inputL.setText(t)
    
        def openFile(self):
            s = QFileDialog.getOpenFileName(self, "open file dialog", "d:/", "python file(*py)")
            self.filelL.setText(s[0])
    
        def openColor(self):
            c = QColorDialog.getColor(Qt.blue)
            if c.isValid():
                self.colorFrame.setPalette(QPalette(c))
    
        def openFont(self):
            f, ok = QFontDialog.getFont()
            if ok:
                self.fontL.setFont(f)
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        form = SDialog()
        form.show()
        app.exec_()
    

    QInputDialog除了可以选择让用户输入文字还有可以输入int和双精度浮点数等等。参数2和3分别为窗口标题和提示内容。

    QFileDialog.getOpenFileName()第二个参数为窗口标题,第三个为选择打开文件的目录,第四个是筛选打开文件的类型

    QColorDialog.getColor()如果有返回值,那么c.isValid就会有值,执行设置frame的颜色。

    QfontDialog.getFont()返回一个Qfont对象和一个布尔值组成的元组。

  • 相关阅读:
    探索式测试实践之路
    管理是什么?真正的管理者是,“管”+“理”!
    JavaScript中的函数式编程
    node js的终端中 console.log 嵌套对象会被折叠的问题
    apt-get install的默认安装路径
    nodejs 事件循环 试题思考
    仅20行的JavaScript模板引擎
    js 驼峰命名转烤串
    git reset 进阶
    linux 拷贝文本到剪切板
  • 原文地址:https://www.cnblogs.com/jikeboy/p/6522454.html
Copyright © 2011-2022 走看看