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

    QinputDialog

    输入的值可以是字符串,数字,或者一个项目从一个列表

    def showDialog(self):
        text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
        if ok:
            self.le.setText(str(text))

    # 显示对话框;第一个字符串是对话框标题,第二个字符串是对话框中的消息
    # 对话框返回一个输入文本和一个布尔值,点击OK按钮,布尔值是True

    # 对话框中收到的消息会显示在行编辑文本框中

     1 import sys
     2 from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, QApplication)
     3 class Example(QWidget):
     4     def __init__(self):
     5         super().__init__()
     6         self.initUI()
     7 
     8     def initUI(self):
     9         self.btn = QPushButton('Dialog', self)  # 创建一个Dialog的按钮
    10         self.btn.move(20, 20)
    11         self.btn.clicked.connect(self.showDialog)   # btn信号连接到self.showDialog槽
    12 
    13         self.le = QLineEdit(self)   # 行编辑实例
    14         self.le.move(130, 22)
    15 
    16         self.setGeometry(300, 300, 290, 150)
    17         self.setWindowTitle('Input dialog')
    18         self.show()
    19 
    20     def showDialog(self):
    21         # 显示对话框;第一个字符串是对话框标题,第二个字符串是对话框中的消息
    22         # 对话框返回一个输入文本和一个布尔值,点击OK按钮,布尔值是True
    23         text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
    24         if ok:
    25             self.le.setText(str(text))
    26 
    27 if __name__ == '__main__':
    28     app = QApplication(sys.argv)
    29     ex = Example()
    30     sys.exit(app.exec_())
    QinputDialog

    QColorDialog

    QColorDialog显示一个用于选择颜色值的对话框。

     1 # Author:凌逆战
     2 # -*- coding:utf-8 -*-
     3 
     4 import sys
     5 from PyQt5.QtWidgets import (QWidget, QPushButton, QFrame,QColorDialog, QApplication)
     6 from PyQt5.QtGui import QColor
     7 
     8 class Example(QWidget):
     9     def __init__(self):
    10         super().__init__()
    11         self.initUI()
    12 
    13     def initUI(self):
    14         col = QColor(0, 0, 0)   # 初始化QFrame颜色为黑色
    15         self.btn = QPushButton('Dialog', self)  # 创建Dialog按钮
    16         self.btn.move(20, 20)
    17 
    18         self.btn.clicked.connect(self.showDialog)   # btn信号绑定self.showDialog槽
    19 
    20         self.frm = QFrame(self) # 创建一个框架
    21         self.frm.setStyleSheet("QWidget { background-color: %s }"% col.name())
    22         self.frm.setGeometry(130, 22, 100, 100)
    23 
    24         self.setGeometry(300, 300, 250, 180)
    25         self.setWindowTitle('Color dialog')
    26         self.show()
    27 
    28     def showDialog(self):
    29         col = QColorDialog.getColor()   # 弹出QColorDialog对话框
    30         # 先检查col的值。如果点击的是Cancel按钮,返回的颜色值是无效的。
    31         # 当颜色值有效时,我们通过样式表(style sheet)来改变背景颜色。
    32         if col.isValid():
    33             self.frm.setStyleSheet("QWidget { background-color: %s }"% col.name())
    34 
    35 if __name__ == '__main__':
    36     app = QApplication(sys.argv)
    37     ex = Example()
    38     sys.exit(app.exec_())
    颜色选择对话框

    QFontDialog

     1 import sys
     2 from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QPushButton,QSizePolicy,
     3                              QLabel, QFontDialog, QApplication)
     4 class Example(QWidget):
     5     def __init__(self):
     6         super().__init__()
     7         self.initUI()
     8 
     9     def initUI(self):
    10         vbox = QVBoxLayout()    # 创建垂直布局实例
    11 
    12         btn = QPushButton('Dialog', self)   # 创建按钮Dialog
    13         btn.setSizePolicy(QSizePolicy.Fixed,QSizePolicy.Fixed)    # 设置按钮长宽固定
    14 
    15         btn.move(20, 20)
    16 
    17         vbox.addWidget(btn) # 垂直布局增加按钮
    18 
    19         btn.clicked.connect(self.showDialog)    # clicked信号绑定self.showDialog槽
    20 
    21         self.lbl = QLabel('Knowledge only matters', self)   # 创建文本标签
    22         self.lbl.move(130, 20)
    23 
    24         vbox.addWidget(self.lbl)    # 垂直布局添加按钮
    25         self.setLayout(vbox)    # 设置垂直布局
    26 
    27         self.setGeometry(300, 300, 250, 180)
    28         self.setWindowTitle('Font dialog')
    29         self.show()
    30 
    31     def showDialog(self):
    32         # 弹出字体对话框,getFont()方法返回字体名称和OK参数,
    33         # 如果点击Ok,表明是True,
    34         font, ok = QFontDialog.getFont()
    35         # 改变标签的字体
    36         if ok:
    37             self.lbl.setFont(font)
    38 
    39 
    40 if __name__ == '__main__':
    41     app = QApplication(sys.argv)
    42     ex = Example()
    43     sys.exit(app.exec_())
    字体选择对话框

    QFileDialog

     1 # Author:凌逆战
     2 # -*- coding:utf-8 -*-
     3 
     4 import sys
     5 from PyQt5.QtWidgets import (QMainWindow, QTextEdit,
     6                              QAction, QFileDialog, QApplication)
     7 from PyQt5.QtGui import QIcon
     8 
     9 class Example(QMainWindow):
    10     def __init__(self):
    11         super().__init__()
    12         self.initUI()
    13 
    14     def initUI(self):
    15         self.textEdit = QTextEdit() # 创建文本编辑实例
    16         self.setCentralWidget(self.textEdit)    # 将文本编辑控件设置为窗体中央
    17         self.statusBar()    # 设置状态栏
    18 
    19         openFile = QAction(QIcon('web.png'), 'Open', self)  # 创建事件
    20         openFile.setShortcut('Ctrl+O')  # 设置快捷方式
    21         openFile.setStatusTip('Open new File')  # 设置状态栏提示
    22         openFile.triggered.connect(self.showDialog) # 触发绑定事件
    23 
    24         menubar = self.menuBar()    # 创建菜单栏
    25         fileMenu = menubar.addMenu('&File') # 创建File菜单
    26         fileMenu.addAction(openFile)    # 添加事件
    27 
    28         self.setGeometry(300, 300, 350, 300)
    29         self.setWindowTitle('File dialog')
    30         self.show()
    31 
    32     def showDialog(self):
    33         # 弹出QFileDialog对话框,第一个字符串参数为对话框的标题,第二个指定对话框的工作目录
    34         # 默认情况下文件刷选器会匹配所有类型的文件(*)
    35         fname = QFileDialog.getOpenFileName(self, 'Open file', '/home')
    36         # 读取文件并将文件内容显示在TextEdit控件
    37         if fname[0]:
    38             f = open(fname[0], 'r')
    39 
    40             with f:
    41                 data = f.read()
    42                 self.textEdit.setText(data)
    43 
    44 if __name__ == '__main__':
    45     app = QApplication(sys.argv)
    46     ex = Example()
    47     sys.exit(app.exec_())
    文件选择对话框
  • 相关阅读:
    Centos 端口开放 Firewall
    windows 命令
    macOS 提示已损坏无法打开解决办法
    Linux screen
    pixhawk入门知识
    [转]错误记录
    华为上机试题:最高分是多少
    [转]opencv学习资料
    像素点的Hessian矩阵
    排序算法
  • 原文地址:https://www.cnblogs.com/LXP-Never/p/9563166.html
Copyright © 2011-2022 走看看