Форум сайта python.su
Добрый день!
Столкнулся с такой проблемой, через поток не хочет вставляться виджет (кнопка) в таблицу ListGrease. Помогите решить этот вопрос, спасибо!
from form_main import Ui_MainWindow from PyQt6 import QtWidgets, QtCore from PyQt6.QtWidgets import ( QApplication, QMainWindow, QTableWidgetItem ) import sys import time import threading class Window_main_form(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) self.pushButton.clicked.connect(self.potok1) self.pushButton_2.clicked.connect(self.potok2) def Timer(self): st = 0 while True: time.sleep(0.3) win_main_form.lineEdit.setText(str(st)) st += 1 def potok1(self): thread = threading.Thread(target=self.Timer, daemon=True) thread.start() def potok2(self): thread = threading.Thread(target=self.potok2_2, daemon=True) thread.start() def potok2_2(self): self.ListGrease.setColumnCount(2) self.ListGrease.setRowCount(0) self.ListGrease.setHorizontalHeaderLabels(["-", "Дата"]) self.ListGrease.resizeColumnsToContents() self.ListGrease.resizeColumnsToContents() self.ListGrease.setRowCount(self.ListGrease.rowCount() + 1) self.ListGrease.setRowCount(self.ListGrease.rowCount() + 1) self.ListGrease.setItem(0, 1, QTableWidgetItem(str("Текст"))) pushButton = QtWidgets.QPushButton('X') pushButton.setMaximumSize(QtCore.QSize(35, 25)) pushButton.clicked.connect(self.clik) self.ListGrease.setCellWidget(1, 0, QTableWidgetItem(pushButton)) # вот здесь ошибка def clik(self): print("Клик!") if __name__ == '__main__': app = QApplication(sys.argv) win_main_form = Window_main_form() win_main_form.show() sys.exit(app.exec())
Офлайн