Pyqt5 zmiana tekstu w QLabel

Pyqt5 zmiana tekstu w QLabel
Masteratom
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:81
0

Witam
Mam problem z zmianą tekstu w QLabel. Pomimo że wywołuję zmianę przez setText(' ') nic się nie dzieje.

Tak wygląda kawałek tego kodu:

Plik1:

Kopiuj
class TabLotto(QWidget):

    def __init__(self):
        super().__init__()
        self.interfejs()
    def interfejs(self):

        Layout = QVBoxLayout()
        Layout.addWidget(self.groupbox_bile())
        self.setLayout(Layout)


    def groupbox_bile(self):
        self.b1 = QLabel('b1', self)
        self.b2 = QLabel('b2', self)
.......

Wywołanie zmiany z innego pliku polega na:

Kopiuj
def wyniki_update():
    layout = lotto.TabLotto()
    layout.b1.setText('siemka')

Dlaczego to nie działa ?

edytowany 1x, ostatnio: cerrato
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:21 minut
  • Postów:4937
0

Debugowałeś? Tam w __init__ wszystko ok? Obiekt layout jest w porządku?


ledi12
  • Rejestracja:prawie 6 lat
  • Ostatnio:2 miesiące
  • Lokalizacja:Wrocław
2
Kopiuj
def groupbox_bile(self):
        self.b1 = QLabel('b1', self)
        self.b2 = QLabel('b2', self)

b1 jest tutaj zdeklarowane i nie wywolujesz tej metody. Najpierw wywolaj metode, zeby ta zmienna stworzyc i powinno zadzialac.


Robię http response status cody w martwych ciągach
edytowany 1x, ostatnio: ledi12
Masteratom
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:81
0

Hmm te labelki widać normalnie jak uruchamiam program. Jeszcze trzeba je wywołać ?? Myślałem to wystarcza by pracować z daną labelką.

Masteratom
  • Rejestracja:ponad 9 lat
  • Ostatnio:3 miesiące
  • Postów:81
0

Uruchomiłem debagowanie i powiem tak.
Program najpierw wchodzi do
self.b1 = QLabel('b1', self)
i w oknie jest wypisywane jest 'b1'.
Jak uruchomię inne okno i każe zmienić nazwę. Program znowu wchodzi do
self.b1 = QLabel('b1', self)
a następnie jest wykonywane
layout.b1.setText('siemka')
Ale napis nie jest aktualizowany w oknie.

Zmodyfikowałem też kod do tego:

Kopiuj
    def groupbox_bile(self):
        self.b1 = QLabel(self)
        self.b1.setText('b1')

I dalej to samo się dzieje.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.