案例:模仿设计一个QQ好友界面
工具:python PyQt5 TooBox控件 TooButton控件
程序运行结果如下:
(1)初始界面
(2)可选择不同界面
设计程序如下:
from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(359, 705) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") # 创建ToolBox工具盒 self.toolBox = QtWidgets.QToolBox(self.centralwidget) self.toolBox.setGeometry(QtCore.QRect(0, 0, 351, 621)) self.toolBox.setObjectName("toolBox") # 设置 我的好友 self.page = QtWidgets.QWidget() self.page.setGeometry(QtCore.QRect(0, 0, 351, 591)) self.page.setObjectName("page") self.toolButton = QtWidgets.QToolButton(self.page) self.toolButton.setGeometry(QtCore.QRect(0, 0, 151, 31)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("图标/01.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton.setIcon(icon) self.toolButton.setIconSize(QtCore.QSize(96, 96)) self.toolButton.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton.setAutoRaise(True) self.toolButton.setObjectName("toolButton") self.toolButton_2 = QtWidgets.QToolButton(self.page) self.toolButton_2.setGeometry(QtCore.QRect(0, 40, 151, 31)) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("图标/02.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_2.setIcon(icon1) self.toolButton_2.setIconSize(QtCore.QSize(96, 96)) self.toolButton_2.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_2.setAutoRaise(True) self.toolButton_2.setObjectName("toolButton_2") self.toolButton_3 = QtWidgets.QToolButton(self.page) self.toolButton_3.setGeometry(QtCore.QRect(0, 80, 151, 31)) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap("图标/03.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_3.setIcon(icon2) self.toolButton_3.setIconSize(QtCore.QSize(96, 96)) self.toolButton_3.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_3.setAutoRaise(True) self.toolButton_3.setObjectName("toolButton_3") self.toolBox.addItem(self.page, "") # 设置 我的同学 self.page_2 = QtWidgets.QWidget() self.page_2.setGeometry(QtCore.QRect(0, 0, 351, 601)) self.page_2.setObjectName("page_2") self.toolButton_4 = QtWidgets.QToolButton(self.page_2) self.toolButton_4.setGeometry(QtCore.QRect(0, 0, 141, 31)) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap("图标/04.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_4.setIcon(icon3) self.toolButton_4.setIconSize(QtCore.QSize(96, 96)) self.toolButton_4.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_4.setAutoRaise(True) self.toolButton_4.setObjectName("toolButton_4") self.toolBox.addItem(self.page_2, "") # 设置 我的同事 self.page_3 = QtWidgets.QWidget() self.page_3.setObjectName("page_3") self.toolButton_5 = QtWidgets.QToolButton(self.page_3) self.toolButton_5.setGeometry(QtCore.QRect(0, 0, 141, 31)) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap("图标/05.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_5.setIcon(icon4) self.toolButton_5.setIconSize(QtCore.QSize(96, 96)) self.toolButton_5.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_5.setAutoRaise(True) self.toolButton_5.setObjectName("toolButton_5") self.toolButton_6 = QtWidgets.QToolButton(self.page_3) self.toolButton_6.setGeometry(QtCore.QRect(0, 40, 141, 31)) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap("图标/06.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_6.setIcon(icon5) self.toolButton_6.setIconSize(QtCore.QSize(96, 96)) self.toolButton_6.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_6.setAutoRaise(True) self.toolButton_6.setObjectName("toolButton_6") self.toolBox.addItem(self.page_3, "") # 设置 陌生人 self.page_4 = QtWidgets.QWidget() self.page_4.setObjectName("page_5") self.toolButton_7 = QtWidgets.QToolButton(self.page_4) self.toolButton_7.setGeometry(QtCore.QRect(0, 0, 141, 31)) icon6 = QtGui.QIcon() icon6.addPixmap(QtGui.QPixmap("图标/07.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_7.setIcon(icon6) self.toolButton_7.setIconSize(QtCore.QSize(96, 96)) self.toolButton_7.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.toolButton_7.setAutoRaise(True) self.toolButton_7.setObjectName("toolButton_7") self.toolBox.addItem(self.page_4, "") MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) # 默认选择第4个页面,“我的好友” self.toolBox.setCurrentIndex(3) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "我的QQ")) self.toolButton.setText(_translate("MainWindow", "阿乐")) self.toolButton_2.setText(_translate("MainWindow", "阿宇")) self.toolButton_3.setText(_translate("MainWindow", "阿峰")) self.toolBox.setItemText(self.toolBox.indexOf(self.page), _translate("MainWindow", "我的好友")) self.toolButton_4.setText(_translate("MainWindow", "阿东")) self.toolBox.setItemText(self.toolBox.indexOf(self.page_2), _translate("MainWindow", "同学")) self.toolButton_5.setText(_translate("MainWindow", "阿南")) self.toolButton_6.setText(_translate("MainWindow", "阿强")) self.toolBox.setItemText(self.toolBox.indexOf(self.page_3), _translate("MainWindow", "同事")) self.toolButton_7.setText(_translate("MainWindow", "阿丽")) self.toolBox.setItemText(self.toolBox.indexOf(self.page_4), _translate("MainWindow", "陌生人"))import sys# 主方法,程序从此处启动PyQt设计的窗体if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() # 创建窗体对象 ui = Ui_MainWindow() # 创建PyQt设计的窗体对象 ui.setupUi(MainWindow) # 调用PyQt窗体的方法对窗体对象进行初始化设置 MainWindow.show() # 显示窗体 sys.exit(app.exec_()) # 程序关闭时退出进程