第五课 PyQt5对话框控件的使用
tags:
- python
- 网易云课堂
categories:
- pyqt5
- QDialog
文章目录
第一节 对话框QDialog控件
1. QDialog控件分类
- 对话框的基类QDialog(普通对话框)。在此基础上拓展了5个对话框
- QMessage(Box消息对话框)
- QColorDialog(颜色对话框)
- QFileDialog(文件打开对话框)
- QFontDialog(设置字体对话框)
- QInputDialog(获取输入对话框)
# 基础对话框
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class QDialogDemo(QMainWindow):
def __init__(self):
super(QDialogDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QDialog案例')
self.resize(300, 200)
self.button = QPushButton(self)
self.button.setText('弹出对话框')
self.button.move(50, 50)
self.button.clicked.connect(self.showDialog)
def showDialog(self):
dialog = QDialog()
button = QPushButton('确定', dialog)
button.clicked.connect(dialog.close)
button.move(50, 50)
dialog.setWindowTitle('对话框')
# 以模式的状态显示 当它显示时其他窗口都不可用(除非对话框关闭)
dialog.setWindowModality(Qt.ApplicationModal)
dialog.exec()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QDialogDemo()
main.show()
sys.exit(app.exec_())
2. 消息对话框QMessageBox
- 关于对话框(没有图标只显示文字)
- 错误对话框
- 警告对话框
- 提问对话框
- 消息对话框
- 这些对话框有2点差异:1. 图标可能不同 2. 显示的按钮是不一样的
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class QMessageBoxDemo(QWidget):
def __init__(self):
super(QMessageBoxDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QMessageBox案例')
self.resize(300, 400)
layout = QVBoxLayout()
self.button1 = QPushButton()
self.button1.setText('显示关于对话框')
self.button1.clicked.connect(self.showDialog