python实现页面之间的跳转,窗口图标,提示框,消息盒子。
- 页面跳转:第一个窗口的按钮和第二个页面联系 a.btn.clicked.connect(b.show)窗口图标:图片的位置要和代码在一个目录下 self.setWindowIcon(QIcon(‘icon.jpg’))提示框:self.setToolTip(“跳转到第二个页面”)消息盒子:QMessageBox.question(self,‘Message’,“Are you sure to quit?”, QMessageBox.Yes | QMessageBox.No,QMessageBox.No)
第一个字符串显示在消息框的提示栏,第二个字符串显示在对话框,第三个参数是消息框的两个按钮,最后一个是默认按钮
效果图
import sys
from PyQt5.QtWidgets import QPushButton,QApplication,QMessageBox,QWidget,QDesktopWidget,QDesktopWidget
from PyQt5.QtCore import QCoreApplication
from PyQt5.QtGui import QFont,QIcon
#定义第一个界面
class FirstWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.btn = QPushButton("跳转",self)
self.setToolTip("跳转到第二个页面") #提示框
self.btn.move(100,100)
self.resize(400,300)
self.center()
self.setWindowTitle('one widget')
self.setWindowIcon(QIcon('icon.jpg')) #带窗口图标
self.show()
#将窗口居中
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
#定义第2个界面
class SecondWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300,300,300,300)
self.setWindowTitle('second widget')
#消息盒子
def closeEvent(self,event):
QMessageBox.question(self,'Message',"确定要退出?", QMessageBox.Yes | QMessageBox.No,QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
a = FirstWidget()
b = SecondWidget()
a.btn.clicked.connect(b.show)
a.show()
sys.exit(app.exec_())



