Im folgenden Code sind die oberen Widgets QTextEdit
und QGraphicsView
nicht ausgerichtet, wenn QHBoxLayout
verwendet wird. Wenn Sie jedoch QTextEdit
auskommentieren und das andere QGraphicsView
-Setup auskommentieren, werden die oberen Rand der Widgets perfekt ausgerichtet. Hier sind meine Fragen:Zusammenführen der Side-by-Side-Widgets mit PySide
Was verursacht dieses Alignment Problem auftreten und wie kann es behoben werden?
Werden Probleme wie diese am besten mit Qt Creator vermieden?
Ist die gesamte QGraphicsView() -> QGraphicsScene() -> QWidget() erforderlich, um Grafiken neben anderen Widgets zu platzieren?
import sys
from PySide.QtCore import *
from PySide.QtGui import *
class Widget(QWidget):
def __init__(self, parent=None):
super(Widget, self).__init__()
# Create Widget1
widget1 = QTextEdit()
#widget1 = QWidget()
#view1 = QGraphicsView()
#scene1 = QGraphicsScene(0,0,200,500)
#view1.setScene(scene1)
#layout = QHBoxLayout()
#layout.addWidget(view1)
#widget1.setLayout(layout)
# Create Widget2
widget2 = QWidget()
view2 = QGraphicsView()
scene2 = QGraphicsScene(0,0,200,500)
view2.setScene(scene2)
layout = QHBoxLayout()
layout.addWidget(view2)
widget2.setLayout(layout)
# Layout of Side by Side windows
container = QWidget()
layout = QHBoxLayout()
layout.addWidget(widget1)
layout.addWidget(widget2)
container.setLayout(layout)
# Scroll Area Properties
scroll = QScrollArea()
scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
scroll.setWidgetResizable(False)
scroll.setWidget(container)
# Scroll Area Layer add
vLayout = QVBoxLayout(self)
vLayout.addWidget(scroll)
self.setLayout(vLayout)
if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = Widget()
dialog.show()
app.exec_()
Vielen Dank. Klar und prägnant. –