Ausdehnung eines QTreeWidget in einer QGroupBox in PySide6

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Maschinenhans
User
Beiträge: 21
Registriert: Donnerstag 14. Juli 2011, 12:23

Guten Tag zusammen,

mein Problem ist, ein QTreeView Widget innerhalb eineQGroupBox ohne Rand horizintal und vertikal zu maximieren. In dem Minimalbeispiel unten ist der Aufbau aufgezeigt. Wie bekomme ich denn die Abstände des QTreeWidgets innerhalb der QGroupBox weg?

Ich hoffe die Intention ist einigermaßen klar, ansonsten einfach rückfragen. Vielen Dank für eure Mühe.

Das Minimalbeispiel:

Code: Alles auswählen

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from PySide6.QtWidgets import QApplication
from PySide6.QtWidgets import QMainWindow
from PySide6.QtWidgets import QHBoxLayout
from PySide6.QtWidgets import QWidget
from PySide6.QtWidgets import QGroupBox
from PySide6.QtWidgets import QTreeWidget
from PySide6.QtWidgets import QTreeWidgetItem

class App(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle('Problem - QTreeView in QGroupbox')
        self.resize(800, 600)

        self.create_widgets()

        self.show()


    def create_widgets(self):
        central_widget = QWidget()
        self.setCentralWidget(central_widget)

        layout = QHBoxLayout(central_widget)

        group_box = QGroupBox('Testbox', self)
        layout.addWidget(group_box)

        layout_group_box = QHBoxLayout(group_box)
   
        tree_widget = QTreeWidget(self)
        layout_group_box.addWidget(tree_widget)

        tree_widget.setRootIsDecorated(False)
        tree_widget.setColumnCount(2)
        tree_widget.setHeaderLabels(['Spalte 1', 'Spalte 2'])

        items = [
            ['Option 1', 'Wert 1'],
            ['Option 2', 'Wert 2'],
            ['Option 3', 'Wert 3'],
            ['Option 4', 'Wert 4'],
            ['Option 5', 'Wert 5'],
        ]
        
        items = [QTreeWidgetItem(row) for row in items]
        tree_widget.addTopLevelItems(items)

def main() -> None:
    app = QApplication()
    main_window = App()
    app.exec()


if __name__ == "__main__":
    main()
Alles wird gut.
Antworten