一、废话不多说运行截图如下:
概要:创建一个居中窗口,运用了以下类和方法:
QApplication, QFrame, QDesktopWidget,QWidget, QToolTip, QPushButton, QMessageBox
二、源代码:
# !/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtCore import QCoreApplication
from PyQt5.QtWidgets import QApplication, QWidget, QToolTip, QPushButton, QMessageBox, QDesktopWidget, QMainWindow
from PyQt5.QtGui import QIcon, QFont
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def center(self):
#窗口居中
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
def closeEvent(self, event):
#消息盒子
reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
def initUI(self):
# 创建一个ok响应按钮
qbtn1 = QPushButton('ok', self)
qbtn1.setToolTip('This is a <b>QPushButton</b> widget')
qbtn1.clicked.connect(QCoreApplication.instance().quit)
qbtn1.resize(qbtn1.sizeHint())
qbtn1.move(30, 100)
#创建一个退出响应按钮
qbtn2 = QPushButton('Quit', self)
qbtn2.clicked.connect(QCoreApplication.instance().quit)
qbtn2.resize(qbtn2.sizeHint())
qbtn2.move(150, 100)
self.setGeometry(300, 300, 250, 150)
self.center()
self.setWindowTitle('Icon')
self.setWindowIcon(QIcon('E:/newRunning/projectPython/pyqt5-test/icon.png'))
self.statusBar.showMessage('Ready')
self.show()
'''
#创建一个退出响应按钮
qbtn = QPushButton('Quit', self)
qbtn.clicked.connect(QCoreApplication.instance().quit)
qbtn.resize(qbtn.sizeHint())
qbtn.move(200, 100)
#创建一个退出按钮
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Quit button')
self.show()
#创建一个带图标的窗口
self.setGeometry(500, 300, 400, 220)
self.setWindowTitle('Icon')
self.setWindowIcon(QIcon('E:/newRunning/projectPython/pyqt5-test/icon.png'))
self.show()
#创建一个带提示框的窗口
QToolTip.setFont(QFont('SansSerif', 10))
self.setToolTip('This is a <b>QWidget</b> widget')
btn = QPushButton('Button', self)
btn.setToolTip('This is a <b>QPushButton</b> widget')
btn.resize(btn.sizeHint())
btn.move(150, 150)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Tooltips')
self.show() '''
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())