Как получить доступ к QTableWidget между разными функциями python - PullRequest
0 голосов
/ 06 мая 2020

Я сделал GUI с помощью Qt Designer и хочу использовать его с python (PyQt5).

У меня есть файл .ui (скажем, test.ui) с QTableWidget, связанный файл .py (так test.py) для определения и отображения окна. Когда я пытаюсь изменить ячейку своего QTableWidget внутри test.py, она работает отлично. Но теперь я хочу изменить ячейки своего QTableWidget, используя другую функцию вне файла test.py. Я пробую несколько вещей, но они не работают.

У меня вопрос, есть ли способ определить мой виджет как глобальный виджет? (тот же принцип глобальной переменной в python). Или есть другой способ сделать то, что я хочу?

Вот минимальный код, который я пишу, чтобы открыть MainWindow:

class MainWindowOPO(QMainWindow):      
    def __init__(self,parent = None):
        super().__init__()
        uic.loadUi(__file__.split('.py')[0] + '.ui', self)


if __name__.endswith('__main__'):

    if not QApplication.instance():
        MainApp = QApplication(sys.argv)
    else :
        MainApp = QApplication.instance()

     mainWindow = MainWindowOPO()
     mainWindow.show()

     rc = MainApp.exec_()
     sys.exit(rc)

     os.system("pause")

, а здесь другая функция:

def WriteInTable(self):
   new_item = QTableWidgetItem('&')
   self.tableWidgetShowExperiment.setItem(1, 1,new_item)
...