Создание скользящих окон / фреймов в Qt Designer - PullRequest
0 голосов
/ 27 февраля 2019

Я не знаю, как правильно сформулировать это, потому что слайдеры - это нечто другое.

Я хочу создать многокадровое окно с изменяемыми размерами кадров.Например, Qt Designer имеет себя (левый кружок) и, как видно из другого Java-приложения (правый кружок):

Resizable Windows

Я хотел бы знатькакие виджеты Qt использовать и / или какие свойства устанавливать, чтобы получить между ними изменяющий размер ползунок .

1 Ответ

0 голосов
/ 27 февраля 2019

Вы должны использовать 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 не существует, вы можете сделать это только по коду.

...