在 Qt Designer 中创建可滑动 windows/frames
Creating slidable windows/frames in Qt Designer
我不知道如何正确表达,因为滑块是不同的东西。
我想要创建的是一个多帧 Window,具有可调整大小的帧。
比如Qt Designer本身就有(左圈),又如在另一个java app中看到的(右圈):
我想知道使用哪种 Qt Widgets and/or 要设置哪些属性,以便在它们之间获得这样一个 调整大小的滑块 。
你必须使用 QSplitter
:
import sys
import random
from PyQt4 import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
splitter = QtGui.QSplitter()
self.setCentralWidget(splitter)
for i in range(4):
label = QtGui.QLabel(
text="label {}".format(i),
alignment=QtCore.Qt.AlignCenter
)
color = QtGui.QColor(*random.sample(range(255), 3))
label.setStyleSheet("background-color:{};".format(color.name()))
splitter.addWidget(label)
def main():
app = QtGui.QApplication(sys.argv)
w = MainWindow()
w.resize(960, 480)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Qt Designer中没有QSplitter组件,只能通过代码实现。
我不知道如何正确表达,因为滑块是不同的东西。
我想要创建的是一个多帧 Window,具有可调整大小的帧。 比如Qt Designer本身就有(左圈),又如在另一个java app中看到的(右圈):
我想知道使用哪种 Qt Widgets and/or 要设置哪些属性,以便在它们之间获得这样一个 调整大小的滑块 。
你必须使用 QSplitter
:
import sys
import random
from PyQt4 import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
splitter = QtGui.QSplitter()
self.setCentralWidget(splitter)
for i in range(4):
label = QtGui.QLabel(
text="label {}".format(i),
alignment=QtCore.Qt.AlignCenter
)
color = QtGui.QColor(*random.sample(range(255), 3))
label.setStyleSheet("background-color:{};".format(color.name()))
splitter.addWidget(label)
def main():
app = QtGui.QApplication(sys.argv)
w = MainWindow()
w.resize(960, 480)
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Qt Designer中没有QSplitter组件,只能通过代码实现。