이것이 내 첫 번째 질문입니다. 가능한 한 명확 해지기를 바랍니다.PyQt 디자인 : 다른 위젯으로 감싸 진 부동 위젯
두 개의 내부 요소가있는 위젯이 있습니다. 위젯은 오른쪽 상단에 있어야하고, 위젯 B는 첫 번째 줄을 감싸 야합니다 (내부 텍스트가 WidgetA 아래에 있어야 함).
이것은 내가 달성하기 위해 노력하고있어입니다 :
________________________
| _________ _____ |
| | B | | A | |
| | some | |___| |
| | text |--------- |
| | should go here | |
| |_________________| |
|______________________|
- 나는 하루 종일 수색하지만 내 경우와 일치시킬 수 있습니다 아무것도 찾을 수 없습니다.
- 나는 FlowLayout을 만들려고했지만 여전히 원하는 것은 아닙니다.
- QLabel에 HTML과 CSS를 넣으려고했는데, PyQt에서 float (Nokia, 부끄러운 줄 아세요!)에 대한 지원이 없다는 것을 알았습니다.
- 커스텀 빌드를 시작했습니다. QGraphicsView + QGraphicsItem, 그러나 그것은 나에게는 조금 어렵다. 아마도 더 간단한 해결책이 있기를 바란다.
어떤 레이아웃을 사용 하시겠습니까? 내 레이아웃을 직접 작성해야합니까?
내 특별한 경우 WidgetA는 QPixmap이있는 QLabel이고 WidgetB는 QFormLayout입니다 (이제는 위젯이 아니지만이 방법으로 다른 사용자에게 도움이 될 것이라고 생각했습니다) .
나는 코드 예제를 만들었지 만 이것은 더 많은 디자인 질문이며 코드가별로 중요하지 않을 수도 있습니다.
from PyQt4 import QtGui, QtCore
class MyWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(MyWidget, self).__init__(parent)
self.layout = QtGui.QVBoxLayout()
self.hLayout = QtGui.QHBoxLayout()
self.smallLabel = QtGui.QLabel("small small")
self.longLabel = QtGui.QLabel('''
very very very very very very very
very very very very very very very
very very very very very very very
long label''')
self.longLabel.setWordWrap(True)
self.hLayout.addWidget(self.longLabel)
self.hLayout.addWidget(self.smallLabel)
self.layout.addLayout(self.hLayout)
self.setLayout(self.layout)
# I run this in Maya, so I don't care about __main__ and apps
w = MyWidget()
w.show()
고마워요!
내 파이썬에 QtWebKit이 내장되어 있지 않은 것처럼 보입니다. 시도하기 전에 컴파일해야합니다. 팁 고마워! – doruchan
감사합니다. QWebView로 해결했습니다! – doruchan