1、使用designer做一个简单的页面
import os
import sys
from PyQt5 import QtWidgets
from compose_interact import Ui_Form as compose_interact
import requests
import subprocess
import configparser
from PyQt5.QtWidgets import QStyleFactory
class ComposeInteractSet(object):
def __init__(self):
self.app = QtWidgets.QApplication(sys.argv) # 实例化QApplication类,作为GUI主程序入口
self.Mainwindow = QtWidgets.QMainWindow() # 创建MainWindow
self.ui = compose_interact() # 实例UI类
self.ui.setupUi(self.Mainwindow) # 设置窗体UI
def list_button_set(self,index):
#点击不同的stack标签展示不同的页面
self.ui.listWidget.currentRowChanged.connect(self.stack_change)
def stack_change(self,i):
#切换不同的页面
self.ui.stackedWidget.setCurrentIndex(i)
def trigger_event(self):
self.ui.listWidget.currentRowChanged.connect(self.stack_change)
self.ui.listWidget.itemClicked.connect(self.list_button_set)
pass
def show_MainWindow(self):
self.Mainwindow.show() # 显示窗体
self.trigger_event()
sys.exit(self.app.exec_()) # 当窗口创建完成,需要结束主循环过程
if __name__ == "__main__":
ComposeInteractSet().show_MainWindow()
**总结:**主要使用的方法就是调用listWidget的itemClicked方法然后切换stackedWidget页面。
谨记:在trigger_event事件中必须添加 self.ui.listWidget.currentRowChanged.connect(self.stack_change)否则页面在开始时,会出现点击第一下不切换页面的情况