我需要将self.deviceIp=QLineEdit() last value
从类PopUpWindows
发送到另一个类,因此我尝试使用全局变量:
我有一个Tab小部件的界面,在TabWidget之前,我有一个带有PyQt5的弹出窗口。
当我启动界面时,弹出窗口打开,我在QlineEdit中给出一个数字,例如,我输入了数字12,我等于GLOBAL_VAL
=12。因此,当我单击开始按钮时,TabWidget界面将打开。当我在Tab1()中时,我需要看到GLOBAL_VAL
=12,但我明白为什么会发生这种情况,尽管我使用的是global
单词
GLOBAL_VAL=0
class PopUpWindows(QDialog):
def __init__(self):
super().__init__()
self.setFixedSize(750, 450) #set window size
self.msg = QVBoxLayout()
self.deviceIpLabel = QLabel("Please Give number :")
self.deviceIp=QLineEdit()
self.layoutx = QGridLayout()
self.buttoninterface = QPushButton('Start Interface', self)
self.buttoninterface.clicked.connect(self.showinterface)
self.layoutx.addWidget(self.deviceIpLabel,0,0)
self.layoutx.addWidget(self.deviceIp,0,1)
self.layoutx.addWidget( self.buttoninterface,1,0)
self.setLayout(self.layoutx)
self.setLayout(self.msg)
def showinterface(self):
# app = QApplication(sys.argv)
# self.master.set_timeout(2.0)
self.tabwidget = TabWidget()
global GLOBAL_VAL
GLOBAL_VAL = self.deviceIp.text()
# print(HOST_ADDRESS)
self.tabwidget.show()
self.close()
class TabWidget(QDialog):
tabwidget = QTabWidget(QWidget)
tabwidget.addTab(Tab1(), "Tab1")
tabwidget.addTab(Tab2(), "Tab2")
...
class Tab1(QWidget):
..
class Tab2()
global GLOBAL_VAL
print(GLOBAL_VAL) ... I want to see 12 but I see 0 in here
..
我想你可能不会调用这个函数。如果我这样做
结果是:
在通过全局“global global\u VAL,global\u VAL=self.deviceIp.text()”更改变量之前,创建选项卡“self.tabwidget=tabwidget()”
相关问题 更多 >
编程相关推荐