两个.py数据导入它们,但它给出的错误名称 xx 未定义



我有大问题。

所以我有一个主窗口,我有第二个窗口。如果我单击按钮:ButtonSeite它将打开我的第二个窗口,直到现在没有问题。我的第二个窗口上有一个按钮,该按钮calls:Ilias_Button它将关闭第二个按钮(使用命令WindowButton.close()(,但是如果我单击第二个窗口上的Ilias_Button,它会给我一个错误,它会调用

名称错误: 名称"窗口按钮"未定义

即使我将第二个窗口导入到我的主窗口文件 请我在这里需要帮助..如何解决这个问题?

这是我的主窗口

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QPixmap
import webbrowser
from PyQt5.QtWidgets import QMessageBox
from WindowSec import Ui_WindowButton

class Ui_WindowMain(object):           
def setupUi(self, WindowMain):
WindowMain.setObjectName("WindowMain")
WindowMain.setWindowTitle("hallooo")
WindowMain.resize(300, 600)
WindowMain.setMinimumSize(QtCore.QSize(300, 600))
WindowMain.setMaximumSize(QtCore.QSize(300, 600))
font = QtGui.QFont()
font.setPointSize(8)
WindowMain.setFont(font)
WindowMain.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
WindowMain.setStyleSheet("")
#ButtonSeite
self.centralwidget = QtWidgets.QWidget(WindowMain)
self.centralwidget.setObjectName("centralwidget")
self.ButtonSeite = QtWidgets.QPushButton(self.centralwidget)
self.ButtonSeite.setGeometry(QtCore.QRect(50, 185, 200, 40))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.ButtonSeite.setFont(font)
self.ButtonSeite.setStyleSheet(
"QPushButton{background-color: grey; border-width: 2px; border-style: solid; border-color: Black}"
"QPushButton:hover{background-color: #A4A4A4; border-width: 2px; border-style: solid; border-color: Black}"
)
self.ButtonSeite.setObjectName("ButtonSeite")
self.ButtonSeite.setText("Ilias Homepage")
#ButtonZertifikat
self.ButtonZertifikat = QtWidgets.QPushButton(self.centralwidget)
self.ButtonZertifikat.setGeometry(QtCore.QRect(50, 228, 200, 40))
font1 = QtGui.QFont()
font1.setFamily("Times New Roman")
font1.setPointSize(14)
font1.setBold(True)
font1.setWeight(75)
self.ButtonZertifikat.setFont(font1)
#        self.ButtonZertifikat.setStyleSheet("background-color: grey; border-width: 2px; border-style: solid; border-color: Black;")
self.ButtonZertifikat.setStyleSheet(
"QPushButton{background-color: grey; border-width: 2px; border-style: solid; border-color: Black}"
"QPushButton:hover{background-color: #A4A4A4; border-width: 2px; border-style: solid; border-color: Black}"
)
self.ButtonZertifikat.setObjectName("ButtonZertifikat")
self.ButtonZertifikat.setText("Zertifikat Speichern")
#Menübar
WindowMain.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(WindowMain)
self.menubar.setGeometry(QtCore.QRect(0, 0, 300, 19))
self.menubar.setObjectName("menubar")
self.menuMen_Text = QtWidgets.QMenu(self.menubar)
self.menuMen_Text.setObjectName("menuMen_Text")
WindowMain.setMenuBar(self.menubar)
self.menubar.addAction(self.menuMen_Text.menuAction())
self.menuMen_Text.setTitle("MenüText")

#Label für Logo
self.label = QtWidgets.QLabel(WindowMain)
self.label.setPixmap(QPixmap("Logo.png"))
self.label.setGeometry(0,20,300,80)

#textedit1
self.textEdit1 = QtWidgets.QTextEdit(WindowMain)
self.textEdit1.setGeometry(10 ,100 , 280, 100)
self.textEdit1.setObjectName("textEdit1")
self.textEdit1.setText(
"ALLES NOCH UMBENNENEN NICHT VERGESSEN"
"<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt; color:#ff0000;">asdsROOOT</span></p>n"
"<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:15pt; color:blue;">HALLO</span></p>n"
"<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:28pt; font-style:italic; color:#ff0000;">hallo ich heiße Cihan</span></p>n"
"<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:18pt; text-decoration: underline; color:#aa55ff;">uasdasdasdasdadasdaad</span></p>n"
"<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:18pt; text-decoration: underline; color:#aa55ff;">rlrlr</span></p>"
)
self.textEdit1.setReadOnly(True)
self.textEdit1.setStyleSheet(
"QTextEdit{background-color: #BDBDBD; border-width: 2px; border-style: solid; border-color: Black}"
"QScrollBar{background-color: #BDBDBD; border-width: 2px; border-style: solid; border-color: Black}"              
)

self.ButtonSeite.clicked.connect(self.WindowIlias)

def WindowIlias(self):
self.window_Ilias = QtWidgets.QMainWindow()
self.ui = Ui_WindowButton()
self.ui.setupUi(self.window_Ilias)
#        WindowMain.hide()
self.window_Ilias.show()

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
WindowMain = QtWidgets.QMainWindow()
ui = Ui_WindowMain()
ui.setupUi(WindowMain)
WindowMain.show()
sys.exit(app.exec_())


那是我的第二个窗口



from PyQt5 import QtCore, QtGui, QtWidgets
import webbrowser

class Ui_WindowButton(object):

def setupUi(self, WindowButton):
WindowButton.setObjectName("WindowButton")
WindowButton.setWindowTitle("IliasWindow")
WindowButton.setFixedSize(300,100)
#        WindowButton.resize(436, 307)
self.centralwidget = QtWidgets.QWidget(WindowButton)
self.centralwidget.setObjectName("centralwidget")
WindowButton.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(WindowButton)
self.menubar.setGeometry(QtCore.QRect(0,0,300,100))
self.menubar.setObjectName("menubar")
WindowButton.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(WindowButton)
self.statusbar.setObjectName("statusbar")
WindowButton.setStatusBar(self.statusbar)

self.info_label = QtWidgets.QLabel(WindowButton)
self.info_label.setGeometry(10,10,200,30)
self.info_label.setText("hallooo color und so")
self.info_label.setStyleSheet(
"QLabel{border-width: 2px; border-style: solid; border-color: Black}"        
)
self.Ilias_Button = QtWidgets.QPushButton(WindowButton)
self.Ilias_Button.setGeometry(130,60,40,20)
self.Ilias_Button.setText("OK")
self.Ilias_Button.setStyleSheet(
"QPushButton{background-color: grey; border-width: 2px; border-style: solid; border-color: Black}"
"QPushButton:hover{background-color: #A4A4A4; border-width: 2px; border-style: solid; border-color: Black}"
)
self.Ilias_Button.clicked.connect(self.IliasBrowser)

def IliasBrowser(self):
#        webbrowser.open_new_tab("https://elearning.hs-albsig.de/login.php")
WindowButton.close()


if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
WindowButton = QtWidgets.QMainWindow()
ui = Ui_WindowButton()
ui.setupUi(WindowButton)
WindowButton.show()
sys.exit(app.exec_())

在第二个文件的setupUI中,存储一个对WindowButton的引用以供以后使用:

class Ui_WindowButton(object):
def setupUi(self, WindowButton):
self.myMasterWindowButton = WindowButton
...
def IliasBrowser(self):
self.myMasterWindowButton.close()

最新更新