我在PyQt4中创建了一个界面,我需要滚动条。我的界面使用绝对定位。我已经看了添加滚动条的其他步骤,但给出的唯一答案是那些没有布局的接口(例如VBoxLayout,Grid Layout等)。
请查看我的代码。如何向此界面添加滚动条(水平和垂直)?
完整代码在此处无法正确格式化,因此我将链接到此pastebin
这是界面的基础(1500px乘1000px窗口)
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.setGeometry(100,100,1500,1000)
def main():
import sys
app = QtGui.QApplication(sys.argv)
window = Example()
window.show()
sys.exit(app.exec_())
main()
问题是......我如何修改上面的代码,以便我有水平和垂直滚动条?
答案 0 :(得分:0)
只有从QAbstractScrollArea继承的小部件才能有滚动条。您可以将其中一个小部件放在窗口小部件中,然后将其他窗口小部件放在该窗口小部件中。或者,让您的小部件继承自QScrollArea而不是QWidget。
默认情况下,滚动条仅在必要时显示隐藏的子窗口小部件。您可以通过设置窗口小部件的滚动条策略来强制显示滚动条。
from PyQt4.QtCore import Qt
...
def initUI(self):
self.setGeometry(100, 100, 1500, 1000)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)