首页 > 解决方案 > 为什么我的功能在没有任何变化的情况下停止工作?

问题描述

尝试学习 Python,所以请原谅写得不好的代码。我使用 SetIcon() 函数将 Pixmap 设置为高于温度,但实际上没有任何改变,我只是几天没有处理它,现在它根本没有设置 Pixmap。在此之前,它运行良好。其他一切正常,当我创建具有相同图标的新像素图时,它们会出现。

创建了其他功能以确保图标的链接没有损坏。重写了函数。我还创建了一个 Try except,但没有抛出任何错误。这几乎就像该功能没有运行,但我知道这是因为我可以让它打印到控制台。该函数刚刚停止将像素图附加到标签。

class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()

        self.setGeometry(100, 100, 240, 320)
        self.setStyleSheet("background: black")

        flags = QtCore.Qt.WindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint)
        self.setWindowFlags(flags)

        self.coolIcon = QtGui.QPixmap("cool.png")
        self.heatIcon = QtGui.QPixmap("heat.png")
        self.fanIcon = QtGui.QPixmap("fan.png")
        self.powerIcon = QtGui.QPixmap("power.png")
        self.currentOperationLbl = QLabel()
        self.currentTempLbl = QLabel(self)
        self.homeIcon = QtGui.QPixmap("home.png")
        self.lbl = QLabel(self)

        self.SetIcon()
        self.CurrentTemp()

        self.show()


    def CurrentTemp(self):

        currentTemp = 67

        self.currentTempLbl.setFont(QtGui.QFont("Gotham", 27, weight=QtGui.QFont.Light))
        self.currentTempLbl.setGeometry(70, 100, 100, 100)
        self.currentTempLbl.setStyleSheet("color: #ffffff;")
        self.currentTempLbl.setText(str(currentTemp))


    def SetIcon(self):

        status = 4

        self.currentOperationLbl.setGeometry(30, 80, 30, 30)

        if status == 1:
            self.currentOperationLbl.setPixmap(self.heatIcon)

        elif status == 2:
            self.currentOperationLbl.setPixmap(self.coolIcon)

        elif status == 3:
            self.currentOperationLbl.setPixmap(self.fanIcon)

        elif status == 4:
            self.currentOperationLbl.setText("System Off")
            self.currentOperationLbl.setGeometry(92, 70, 50, 30)
            self.currentOperationLbl.setFont(QtGui.QFont("Gotham", 3, weight=QtGui.QFont.Light))
            self.currentOperationLbl.setStyleSheet("color: #ffffff;")


if __name__ == "__main__":
    App = QApplication(sys.argv)
    window = Window()
    sys.exit(App.exec())

标签: python-3.xpyqt5

解决方案


推荐阅读