用python+PyQt5来编写一个定时关机窗口

一、界面展示

用python+PyQt5来编写一个定时关机窗口_第1张图片

 二、源码

import sys
from PyQt5.QtWidgets import QDesktopWidget,QApplication, QWidget, QLabel, QVBoxLayout, QPushButton, QSpinBox
import os

class AutoShutdownApp(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("自动关机应用")
        self.resize(500, 200)
        self.center()

        self.label = QLabel("选择自动关机时间(分钟):")
        self.spin_box = QSpinBox()
        self.spin_box.setMinimum(1)
        self.spin_box.setMaximum(1440)  # 设置最大值为24小时

        self.shutdown_button = QPushButton("设置自动关机")
        self.shutdown_button.clicked.connect(self.set_auto_shutdown)

        self.cancel_button = QPushButton("取消自动关机")
        self.cancel_button.clicked.connect(self.cancel_auto_shutdown)

        layout = QVBoxLayout()
        layout.addWidget(self.label)
        layout.addWidget(self.spin_box)
        layout.addWidget(self.shutdown_button)
        layout.addWidget(self.cancel_button)

        self.setLayout(layout)

    def set_auto_shutdown(self):
        minutes = self.spin_box.value()
        time_in_seconds = minutes * 60
        os.system(f'shutdown -s -t {time_in_seconds}')

    def cancel_auto_shutdown(self):
        os.system('shutdown -a')

    def center(self):
        screen = QDesktopWidget().screenGeometry()
        size = self.geometry()
        # (屏幕的宽-窗口的宽)/2
        self.move(int((screen.width() - size.width()) / 2), int((screen.height() - size.height()) / 2))

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = AutoShutdownApp()
    window.show()
    sys.exit(app.exec_())

你可能感兴趣的:(python,qt,开发语言)