• 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对象和一个布尔值组成的元组。

  • 相关阅读:
    【前端】用百度BAE和express部署自己的node后台
    【前端】JavaScript中prototype和__proto__的区别
    【其他】Objective-C 内存管理学习总结
    【Unity3D】Unity3D 让角色的头部望向鼠标
    【Unity3D】Unity3D 摄像机带透明截图
    【前端】前端冷知识
    【Unity3D】Unity3D SkinnedMeshRenderer换装系统
    【前端】HTML中最适合做按钮的元素
    IEnumerable和IEnumerator 详解 分类: C# 2014-12-05 11:47 18人阅读 评论(0) 收藏
    LINQ to Entities
  • 原文地址:https://www.cnblogs.com/jikeboy/p/6522454.html
Copyright © 2020-2023  润新知