Qwidget wird nicht aktualisiert, wenn der Steckplatz in Pyside aufgerufen wirdPython

Python-Programme
Anonymous
 Qwidget wird nicht aktualisiert, wenn der Steckplatz in Pyside aufgerufen wird

Post by Anonymous »

Entschuldigung, wenn dies nach einer Dummy -Frage klingt, bin ich neu in Pyside. Die Listen werden jedoch nicht wie erwartet angezeigt, wenn die Taste gedrückt wird. < /P>
Hier ist mein Code: < /p>

Code: Select all

import sys
import random
from PySide6.QtWidgets import QApplication, QWidget, QLineEdit, QListWidget, QHBoxLayout, QListWidgetItem
from PySide6 import QtCore, QtWidgets
from PySide6.QtCore import Slot

class Widget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)

self.button = QtWidgets.QPushButton("Enter room")
self.textfield = QLineEdit()

self.layout = QtWidgets.QVBoxLayout(self)
self.layout.addWidget(self.textfield)
self.layout.addWidget(self.button)

self.button.clicked.connect(self.connect)

@Slot()
def connect(self):
room_id = self.textfield.text().strip()
self.button.deleteLater()
self.textfield.deleteLater()

self.layout = QHBoxLayout()
self.feed = QListWidget()
self.online = QListWidget()

self.online.addItem(QListWidgetItem("Oak"))
self.online.addItem(QListWidgetItem("Fir"))
self.online.addItem(QListWidgetItem("Pine"))

self.feed.addItem(QListWidgetItem("Hello World"))

self.layout.addWidget(self.feed)
self.layout.addWidget(self.online)

self.setLayout(self.layout)
self.update() # does not update after button and textfield deletions

if __name__ == "__main__":
app = QApplication([])
window = Widget()
window.show()
sys.exit(app.exec())
< /code>
Ich habe versucht, die Qwidgetlisten im Konstruktor zu zeichnen, und es wurde wie erwartet angezeigt. Ich denke, ich aktualisiere das Haupt -Widget nicht richtig. < /P>
class Widget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)

self.layout = QHBoxLayout()
self.feed = QListWidget()
self.online = QListWidget()

self.online.addItem(QListWidgetItem("Oak"))
self.online.addItem(QListWidgetItem("Fir"))
self.online.addItem(QListWidgetItem("Pine"))

self.feed.addItem(QListWidgetItem("Hello World"))

self.layout.addWidget(self.feed)
self.layout.addWidget(self.online)

self.setLayout(self.layout)
self.update() # it works

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post