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_())
    文件选择对话框
  • 相关阅读:
    Nginx 部署多个 web 项目(虚拟主机)
    Nginx 配置文件
    Linux 安装 nginx
    Linux 安装 tomcat
    Linux 安装 Mysql 5.7.23
    Linux 安装 jdk8
    Linux 安装 lrzsz,使用 rz、sz 上传下载文件
    springMVC 拦截器
    spring 事务
    基于Aspectj 注解实现 spring AOP
  • 原文地址:https://www.cnblogs.com/LXP-Never/p/9563166.html
Copyright © 2011-2022 走看看