저는 PySide를 통해 액세스하는 Qt에 비교적 익숙하지 않습니다.QScrollArea의 적당한 너비를 설정하십시오.
필자는 세로로 스크롤 할 수있게 만들고 싶은 콘텐츠 목록을 보유하고 있습니다. 가로 크기는 문제가되지 않습니다. 나는 그것에 대해 QScrollArea
을 사용해 보았습니다.
import sys
import PySide.QtGui as gui
application = gui.QApplication(sys.argv)
window = gui.QScrollArea()
list = gui.QWidget()
layout = gui.QVBoxLayout(list)
for i in range(100):
layout.addWidget(gui.QLabel(
"A something longish, slightly convoluted example text."))
window.setWidget(list)
window.show()
sys.exit(application.exec_())
어떻게됩니까 :
하는 스크롤 영역은 라벨
그것은 수직 공간이 있음을 통지에 필요한 크기로 수평 크기를 설정 여기에 최소한의 예입니다 부족하기 때문에 세로 스크롤 막대가 추가됩니다.
세로 스크롤 막대로 인해 가로 공간이 부족하기 때문에 가로 스크롤 막대도 표시됩니다.
나는 수평 스크롤 멀리 setHorizontalScrollBarPolicy
에 갈 수 있도록 할 수 있지만 큰 문제는 지속 : 수직 스크롤 바는 라벨의 일부를 가린다.
가로 스크롤 막대가 필요없는 최소 값으로 스크롤 영역의 너비를 어떻게 설정할 수 있습니까?
예, 주 창인 QScrollArea는 예제의 일부입니다. 실제 응용 프로그램에서는 QStackedWidget 안에 있습니다. – kne
@kne. 어느 쪽이든, 내 대답은 올바른 해결책입니다. 너는 그것을 실제로 시도 했는가? – ekhumoro
괜찮습니다. 고마워요. 나는 그 이유를 이해하지 못합니다. IIUC,'list.layout(). getContentsMargins (2)'는'layout.contentsMargins(). right()'와 동일합니다. 왼쪽 여백은 어때? 시각적으로 네 가지 방향 모두에 여백이 있습니다. 왼쪽 마진은 이미'window.verticalScrollBar()에 포함되어 있습니까?sizeHint(). width()'? – kne