如何在pyqt设置好的按键,点击按键启用另一个.py文件
class InterfaceWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow_inter()
self.ui.setupUi(self)
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.ui.pushButton_off.clicked.connect(lambda: self.ui.stackedWidget.setCurrentIndex(0))
self.ui.pushButton_open.clicked.connect(lambda: self.ui.stackedWidget.setCurrentIndex(1))
设置好的按键名称是pushButton_open,想用它点击运行出来另一个叫eye.py的程序文件
你可以在 pushButton_open
的回调函数中使用 subprocess.Popen()
方法启动另一个 Python 文件:
import subprocess
class InterfaceWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow_inter()
self.ui.setupUi(self)
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.ui.pushButton_off.clicked.connect(lambda: self.ui.stackedWidget.setCurrentIndex(0))
self.ui.pushButton_open.clicked.connect(self.open_eye)
def open_eye(self):
subprocess.Popen(['python', 'eye.py'])
注意,在使用 subprocess.Popen()
方法时,你需要指定 Python 解释器的路径和要运行的 Python 文件。如果你在操作系统中安装了多个 Python 版本,则需要指定正确的 Python 解释器路径。
为了便于区分控件,我们需要给各个控件设置不同的名字,便于调用;
为了区分选项卡不同的界面,随意拖几个控件作区分;