self.worker.start()
self.worker = QThread()
self.worker.start()
self.some_class.moveToThread(self.worker)
def onClicked(self): # сама функция для показа
about = Information()
about.show()
class Information(QtWidgets.QMainWindow): # не надо наследоваться от двух классов сразу
"""Класс со вторым окном"""
def __init__(self):
super().__init__()
self.ui = Ui_About()
self.ui.setupUi(self)
self.information_window = Information() # если передать родителя, и установить Modality = True, окно будет модальным
def onClicked(self): # сама функция для показа
self.information_window.show()
import sys
from PySide2.QtWidgets import QApplication, QScrollArea, QLabel
class Main(QScrollArea):
def __init__(self):
super(Main, self).__init__()
self.resize(300, 300)
# вариант 1, не работает
# self.label = QLabel('some text', self)
# вариант 2, работает
self.label = QLabel("some text")
self.setWidget(self.label)
self.label.setStyleSheet("background-color: rgba(255,0,255)")
self.label.resize(500, 100)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Main()
ex.show()
sys.exit(app.exec_())
You must pass to it all the data it needs to work with- загружайте перед стартом все необходимые данные, если данные изменились, и воркеру надо их получить, отсылайте воркеру с помощью сигнала. Когда воркер сделал часть, результат он отсылает в сигнале.
def OpenAmpWin(self, item: QTableWidgetItem):
print(item.row())
self.AmpWinShow = AmplyWindow()
self.AmpWinShow.show()
import sys
from PySide2.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
class Main(QTableWidget):
def __init__(self):
super(Main, self).__init__()
self.setRowCount(10)
self.setColumnCount(5)
self.itemDoubleClicked.connect(self.__on_item_double_click)
self.setEditTriggers(self.EditKeyPressed | self.AnyKeyPressed)
self.filling_count = 0
self.refill()
def __on_item_double_click(self, item: QTableWidgetItem):
print(f"row:{item.row()} col:{item.column()} item: {item}")
self.refill()
def refill(self):
self.filling_count += 1
for row in range(self.rowCount()):
for col in range(self.columnCount()):
item = QTableWidgetItem(
f"row:{row + 1} col:{col + 1} filled: {self.filling_count}"
)
self.setItem(row, col, item)
self.resizeColumnsToContents()
if __name__ == "__main__":
app = QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
while True:
ovca= ovca +1
self.lineEdit.setText(str(ovca))
time.sleep(10)