PyQt6: AttributeError: 'Config_lod' object has no attribute 'widescreen'
Помогите пожалуйста, никак не могу разобраться, что я делаю не так
main.py:
from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.QtCore import Qt
import interface_ui
class Config_lod(QMainWindow, interface_ui.Ui_MainWindow):
def __init__(self, parent = None):
super().__init__(parent)
self.ui = interface_ui.Ui_MainWindow()
self.ui.setupUi(self)
self.setFixedSize(self.size())
self.widescreen.stateChanged.connect(self.on_checkbox_changed)
self.autofpslimit.stateChanged.connect(self.on_checkbox_changed)
def on_checkbox_changed(self, value):
state = Qt.CheckState(value)
if state == Qt.CheckState.Checked:
print('Checked')
elif state == Qt.CheckState.Unchecked:
print('Unchecked')
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
ex = Config_lod()
ex.show()
sys.exit(app.exec())
interface_ui.py:
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
MainWindow.setMinimumSize(QtCore.QSize(0, 0))
MainWindow.setMaximumSize(QtCore.QSize(800, 600))
MainWindow.setBaseSize(QtCore.QSize(800, 600))
MainWindow.setStyleSheet("QMainWidget {\n"
"background-color: #23272E;\n"
"border: none;\n"
"}")
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setStyleSheet("QWidget {\n"
"background-color: #23272E;\n"
"}")
self.centralwidget.setObjectName("centralwidget")
self.gridFrame = QtWidgets.QFrame(parent=self.centralwidget)
self.gridFrame.setGeometry(QtCore.QRect(0, 0, 731, 21))
self.gridFrame.setStyleSheet("QFrame {\n"
"background-color: #1E2227;\n"
"border: 1px solid;\n"
"border-color: black;\n"
"}")
self.gridFrame.setObjectName("gridFrame")
self.horizontalFrame = QtWidgets.QFrame(parent=self.centralwidget)
self.horizontalFrame.setGeometry(QtCore.QRect(730, 0, 71, 21))
self.horizontalFrame.setMinimumSize(QtCore.QSize(71, 21))
self.horizontalFrame.setMaximumSize(QtCore.QSize(71, 21))
self.horizontalFrame.setStyleSheet("QFrame {\n"
"background-color: #1E2227;\n"
"border: 1px solid;\n"
"border-color: black;\n"
"}")
self.horizontalFrame.setObjectName("horizontalFrame")
self.close_btn = QtWidgets.QPushButton(parent=self.horizontalFrame)
self.close_btn.setGeometry(QtCore.QRect(35, 0, 35, 21))
font = QtGui.QFont()
self.close_btn.setFont(font)
self.close_btn.setStyleSheet("QPushButton {\n"
"border: none;\n"
"background: none;\n"
"background-color: none;\n"
"font-size: 12px bold;\n"
"margin: 0px;\n"
"padding: 0px;\n"
"color: #6B717D;\n"
"}\n"
"\n"
"QPushButton::hover {\n"
"background-color: #E81123;\n"
"}\n"
"\n"
"QPushButton::pressed {\n"
"background-color: #981A27;\n"
"}")
self.close_btn.setObjectName("close_btn")
self.min_btn = QtWidgets.QPushButton(parent=self.horizontalFrame)
self.min_btn.setGeometry(QtCore.QRect(0, 0, 35, 21))
font = QtGui.QFont()
self.min_btn.setFont(font)
self.min_btn.setStyleSheet("QPushButton {\n"
"border: none;\n"
"background: none;\n"
"background-color: none;\n"
"font-size: 12px bold;\n"
"margin: 0px;\n"
"padding: 0px;\n"
"color: #6B717D;\n"
"}\n"
"\n"
"QPushButton::hover {\n"
"background-color: #3C3F44;\n"
"}\n"
"\n"
"QPushButton::pressed {\n"
"background-color: #5C5F64;\n"
"}")
self.min_btn.setObjectName("min_btn")
self.verticalFrame = QtWidgets.QFrame(parent=self.centralwidget)
self.verticalFrame.setGeometry(QtCore.QRect(0, 20, 801, 581))
self.verticalFrame.setStyleSheet("QFrame {\n"
"background-color: #23272E;\n"
"border: none;\n"
"}")
self.verticalFrame.setObjectName("verticalFrame")
self.tabWidget = QtWidgets.QTabWidget(parent=self.verticalFrame)
self.tabWidget.setEnabled(True)
self.tabWidget.setGeometry(QtCore.QRect(0, 35, 851, 591))
font = QtGui.QFont()
font.setPointSize(8)
font.setBold(True)
font.setWeight(75)
font.setKerning(True)
self.tabWidget.setFont(font)
self.tabWidget.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu)
self.tabWidget.setAcceptDrops(False)
self.tabWidget.setLayoutDirection(QtCore.Qt.LayoutDirection.LeftToRight)
self.tabWidget.setAutoFillBackground(False)
self.tabWidget.setStyleSheet("QTabWidget {\n"
"border: 0px;\n"
"}")
self.tabWidget.setTabPosition(QtWidgets.QTabWidget.TabPosition.North)
self.tabWidget.setObjectName("tabWidget")
self.hotheys_tab = QtWidgets.QWidget()
self.hotheys_tab.setStyleSheet("QWidget {\n"
"background-color: #23272E;\n"
"border: none;\n"
"}")
self.hotheys_tab.setObjectName("hotheys_tab")
self.tabWidget.addTab(self.hotheys_tab, "")
self.gameoptions_tab = QtWidgets.QWidget()
self.gameoptions_tab.setObjectName("gameoptions_tab")
self.frame = QtWidgets.QFrame(parent=self.gameoptions_tab)
self.frame.setGeometry(QtCore.QRect(0, 0, 401, 531))
self.frame.setObjectName("frame")
self.autoselectsummrad = QtWidgets.QSpinBox(parent=self.frame)
self.autoselectsummrad.setGeometry(QtCore.QRect(20, 418, 71, 18))
self.autoselectsummrad.setStyleSheet("QSpinBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autoselectsummrad.setObjectName("autoselectsummrad")
self.autoselectsummrad_label = QtWidgets.QLabel(parent=self.frame)
self.autoselectsummrad_label.setGeometry(QtCore.QRect(100, 420, 301, 16))
self.autoselectsummrad_label.setStyleSheet("QLabel {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autoselectsummrad_label.setObjectName("autoselectsummrad_label")
self.widescreen = QtWidgets.QCheckBox(parent=self.frame)
self.widescreen.setGeometry(QtCore.QRect(20, 33, 381, 17))
self.widescreen.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.widescreen.setObjectName("widescreen")
self.autofpslimit = QtWidgets.QCheckBox(parent=self.frame)
self.autofpslimit.setGeometry(QtCore.QRect(20, 88, 381, 17))
self.autofpslimit.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autofpslimit.setObjectName("autofpslimit")
self.lockmouse = QtWidgets.QCheckBox(parent=self.frame)
self.lockmouse.setGeometry(QtCore.QRect(20, 143, 381, 17))
self.lockmouse.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.lockmouse.setObjectName("lockmouse")
self.autoselecthero = QtWidgets.QCheckBox(parent=self.frame)
self.autoselecthero.setGeometry(QtCore.QRect(20, 198, 381, 17))
self.autoselecthero.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autoselecthero.setObjectName("autoselecthero")
self.displaymanabars = QtWidgets.QCheckBox(parent=self.frame)
self.displaymanabars.setGeometry(QtCore.QRect(20, 253, 381, 17))
self.displaymanabars.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.displaymanabars.setObjectName("displaymanabars")
self.tpstopsoft = QtWidgets.QCheckBox(parent=self.frame)
self.tpstopsoft.setGeometry(QtCore.QRect(20, 308, 381, 17))
self.tpstopsoft.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.tpstopsoft.setObjectName("tpstopsoft")
self.tpstop = QtWidgets.QCheckBox(parent=self.frame)
self.tpstop.setGeometry(QtCore.QRect(20, 363, 381, 17))
self.tpstop.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.tpstop.setObjectName("tpstop")
self.closewc = QtWidgets.QCheckBox(parent=self.frame)
self.closewc.setGeometry(QtCore.QRect(20, 474, 381, 17))
self.closewc.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.closewc.setObjectName("closewc")
self.frame1 = QtWidgets.QFrame(parent=self.gameoptions_tab)
self.frame1.setGeometry(QtCore.QRect(400, 0, 401, 531))
self.frame1.setObjectName("frame1")
self.autoattackh = QtWidgets.QCheckBox(parent=self.frame1)
self.autoattackh.setGeometry(QtCore.QRect(20, 33, 371, 17))
self.autoattackh.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autoattackh.setObjectName("autoattackh")
self.autoattacku = QtWidgets.QCheckBox(parent=self.frame1)
self.autoattacku.setGeometry(QtCore.QRect(20, 88, 371, 17))
self.autoattacku.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autoattacku.setObjectName("autoattacku")
self.autoattackstop = QtWidgets.QCheckBox(parent=self.frame1)
self.autoattackstop.setGeometry(QtCore.QRect(20, 143, 371, 17))
self.autoattackstop.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.autoattackstop.setObjectName("autoattackstop")
self.smartattack = QtWidgets.QCheckBox(parent=self.frame1)
self.smartattack.setGeometry(QtCore.QRect(20, 198, 371, 17))
self.smartattack.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.smartattack.setObjectName("smartattack")
self.rightclickdeny = QtWidgets.QCheckBox(parent=self.frame1)
self.rightclickdeny.setGeometry(QtCore.QRect(20, 253, 371, 17))
self.rightclickdeny.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.rightclickdeny.setObjectName("rightclickdeny")
self.selectionhelper = QtWidgets.QCheckBox(parent=self.frame1)
self.selectionhelper.setGeometry(QtCore.QRect(20, 308, 371, 17))
self.selectionhelper.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.selectionhelper.setObjectName("selectionhelper")
self.doubleclickhelper = QtWidgets.QCheckBox(parent=self.frame1)
self.doubleclickhelper.setGeometry(QtCore.QRect(20, 363, 371, 17))
self.doubleclickhelper.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.doubleclickhelper.setObjectName("doubleclickhelper")
self.visitsite = QtWidgets.QCheckBox(parent=self.frame1)
self.visitsite.setGeometry(QtCore.QRect(20, 418, 371, 17))
self.visitsite.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.visitsite.setObjectName("visitsite")
self.iamshy = QtWidgets.QCheckBox(parent=self.frame1)
self.iamshy.setGeometry(QtCore.QRect(20, 473, 371, 17))
self.iamshy.setStyleSheet("QCheckBox {\n"
"color: rgb(255, 255, 255);\n"
"}")
self.iamshy.setObjectName("iamshy")
self.tabWidget.addTab(self.gameoptions_tab, "")
self.visuals_tab = QtWidgets.QWidget()
self.visuals_tab.setObjectName("visuals_tab")
self.tabWidget.addTab(self.visuals_tab, "")
self.hpbars_tab = QtWidgets.QWidget()
self.hpbars_tab.setObjectName("hpbars_tab")
self.tabWidget.addTab(self.hpbars_tab, "")
self.chat_tab = QtWidgets.QWidget()
self.chat_tab.setObjectName("chat_tab")
self.tabWidget.addTab(self.chat_tab, "")
self.gamesets_tab = QtWidgets.QWidget()
self.gamesets_tab.setObjectName("gamesets_tab")
self.tabWidget.addTab(self.gamesets_tab, "")
self.useful_tab = QtWidgets.QWidget()
self.useful_tab.setObjectName("useful_tab")
self.tabWidget.addTab(self.useful_tab, "")
self.about_tab = QtWidgets.QWidget()
self.about_tab.setObjectName("about_tab")
self.tabWidget.addTab(self.about_tab, "")
self.path_btn = QtWidgets.QPushButton(parent=self.verticalFrame)
self.path_btn.setGeometry(QtCore.QRect(720, 10, 75, 21))
self.path_btn.setStyleSheet("QPushButton {\n"
"color: White;\n"
"}")
self.path_btn.setObjectName("path_btn")
self.path_edit = QtWidgets.QLineEdit(parent=self.verticalFrame)
self.path_edit.setGeometry(QtCore.QRect(260, 10, 451, 20))
self.path_edit.setStyleSheet("QLineEdit {\n"
"color: White;\n"
"}")
self.path_edit.setFrame(True)
self.path_edit.setObjectName("path_edit")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Config LoD"))
self.close_btn.setText(_translate("MainWindow", "X"))
self.min_btn.setText(_translate("MainWindow", "_"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.hotheys_tab), _translate("MainWindow", "HOTKEYS"))
self.autoselectsummrad_label.setText(_translate("MainWindow", "Autoselect Summoned Units Radius"))
self.widescreen.setText(_translate("MainWindow", "Wide Screen"))
self.autofpslimit.setText(_translate("MainWindow", "Auto FPS Limit"))
self.lockmouse.setText(_translate("MainWindow", "Lock Mouse At Window"))
self.autoselecthero.setText(_translate("MainWindow", "Autoselect Hero"))
self.displaymanabars.setText(_translate("MainWindow", "Display Manabars"))
self.tpstopsoft.setText(_translate("MainWindow", "Teleportation Can Only Be Stopped Soft"))
self.tpstop.setText(_translate("MainWindow", "Teleportation Can Only Be Stopped"))
self.closewc.setText(_translate("MainWindow", "Close WC3 Every Game"))
self.autoattackh.setText(_translate("MainWindow", "Autoattack Heroes"))
self.autoattacku.setText(_translate("MainWindow", "Autoattack Units"))
self.autoattackstop.setText(_translate("MainWindow", "Autoattack Disabled By Stop Only"))
self.smartattack.setText(_translate("MainWindow", "Smart Attack"))
self.rightclickdeny.setText(_translate("MainWindow", "Right Click Deny"))
self.selectionhelper.setText(_translate("MainWindow", "Selection Helper"))
self.doubleclickhelper.setText(_translate("MainWindow", "Double Click Helper"))
self.visitsite.setText(_translate("MainWindow", "I Dont Want To Visit Site"))
self.iamshy.setText(_translate("MainWindow", "I Am Shy"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.gameoptions_tab), _translate("MainWindow", "GAME OPTIONS"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.visuals_tab), _translate("MainWindow", "VISUALS"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.hpbars_tab), _translate("MainWindow", "HP BARS"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.chat_tab), _translate("MainWindow", "CHAT"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.gamesets_tab), _translate("MainWindow", "GAME SETS"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.useful_tab), _translate("MainWindow", "USEFUL"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.about_tab), _translate("MainWindow", "ABOUT"))
self.path_btn.setText(_translate("MainWindow", "Search"))
self.path_edit.setPlaceholderText(_translate("MainWindow", "Set path to \"config.lod.ini\""))
Ошибка:
Traceback (most recent call last):
File "d:\Code\Python\PyQt5\Config_LoD\main.py", line 67, in <module>
ex = Config_lod()
^^^^^^^^^^^^
File "d:\Code\Python\PyQt5\Config_LoD\main.py", line 18, in __init__
self.widescreen.stateChanged.connect(self.on_checkbox_changed)
^^^^^^^^^^^^^^^
AttributeError: 'Config_lod' object has no attribute 'widescreen'
Источник: Stack Overflow на русском