import sys import subprocess from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget
def open_calculator(): try: subprocess.Popen("calc.exe") except Exception as e: print("无法打开计算器:", str(e))
def close_calculator(): try: subprocess.Popen("taskkill /F /IM calc.exe") except Exception as e: print("无法关闭计算器:", str(e))
创建应用程序对象
app = QApplication(sys.argv)
创建主窗口
window = QMainWindow() window.setWindowTitle("My Program")
创建容器窗口
container = QWidget(window) window.setCentralWidget(container)
创建按钮布局
layout = QVBoxLayout(container)
创建按钮
button1 = QPushButton("打开计算器") button1.clicked.connect(open_calculator) layout.addWidget(button1)
button2 = QPushButton("关闭计算器") button2.clicked.connect(close_calculator) layout.addWidget(button2)
设置容器窗口布局
container.setLayout(layout)
调整窗口大小
window.resize(300, 200)
获取屏幕尺寸
screen_geometry = QApplication.desktop().availableGeometry() screen_center = screen_geometry.center()
计算窗口位置使其居中
window_geometry = window.frameGeometry() window_geometry.moveCenter(screen_center) window.move(window_geometry.topLeft())
显示窗口
window.show()
运行应用程序的主循环
sys.exit(app.exec_())