从python中的Thread Class访问全局变量

时间:2019-07-09 09:48:48

标签: python-3.x multithreading api global-variables pyqt5

我在PyQt5中使用线程概念制作了一个GUI。现在,我正在尝试访问全局变量。在类之间可以访问全局变量,但在类外定义的函数不能访问全局变量。

class Window(QtWidgets.QMainWindow, doby_v1_ui.Ui_MainWindow):
def __init__(self, parent=None):
     def load_design_image(self):
          global LOADED_IMAGE
          global LOADED_FILENAME
          global LOADED_FILEOBJECT
          global COMMUNICATION
          sourcefolder = "C:/Users/DELL/Desktop/design/"
          if(self.list_internal_change_images.currentRow() != -1):
               loaded_image = 
               self.list_internal_change_images.currentItem().text()
               LOADED_IMAGE = sourcefolder + loaded_image
               LOADED_FILEOBJECT = open(LOADED_FILENAME,'wb')
               pickle.dump(LOADED_IMAGE,LOADED_FILEOBJECT)
               LOADED_FILEOBJECT.close()
               COMMUNICATION = 1
               self.display_main_page()
          else:
              QMessageBox.about(self, 'Error', 'No image selected.')

现在我在类外定义了一个函数

def DataInList():
     global LOADED_IMAGE
     print(LOADED_IMAGE)

并且我在flask API文件中使用了此功能,下面提到了API代码

@app.route('/data',methods=["GET"])
def dataGet():
    DataInList()

我无法访问该变量,或者可以说它的返回默认值。另一方面,我尝试了“多处理”概念的“亲子交流”,但结果相同。

我尝试了单独的文件来声明全局变量并从中进行访问。但出现空值。

0 个答案:

没有答案