【问题标题】:QScrollArea with a QWidget in a QSplitter在 QSplitter 中带有 QWidget 的 QScrollArea
【发布时间】:2015-11-30 17:17:33
【问题描述】:

我正在为我的班级制作一个项目,我需要在一个小部件中放置一个 scrollArea(我选择了一个拆分器),我想按下一个按钮并在这个小部件中创建更多 scrollArea。这就是我所做的:

我这样创建按钮:

self.AddCanal = QAction(QIcon(), "Add channel", self, shortcut = "Shift+Ctrl+c", triggered = self.addChannel)

我把它放在QToolBar()

然后,我创建了scrollArea。我将带有Qwidget 的滚动区域(在这种情况下我使用QwtPlot)放在QSplittersplitter1)中,然后我将一个框架和分离器放在另一个分离器(splitter2)中。最后,我将splitter2 和另一帧放入最后一个拆分器(splitter3)。你可以在这里看到它:

self.scrollLayout = QFormLayout()
self.canal = QwtPlot()
self.canal.setLayout(self.scrollLayout)
self.scrollArea = QScrollArea()
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setWidget(self.canal)

self.scrollArea = QScrollArea()
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setWidget(self.canal)

splitter2 = QSplitter(Qt.Horizontal)
splitter2.addWidget(self.frame)
splitter2.addWidget(splitter1)

splitter3 = QSplitter(Qt.Vertical)
splitter3.addWidget(splitter2)
splitter3.addWidget(self.frame_3)

我是这样做的,因为我会在一个框架中放置一个树小部件,而在底部框架中我将放置一个QtextEdit()

好吧,现在我需要该按钮,当单击它时,会在 splitter1 中创建另一个 scrollArea。我想创建至少 5 个额外的scrollAreas

我怎样才能做到这一点?

【问题讨论】:

    标签: python-2.7 pyqt4 qwt qscrollarea


    【解决方案1】:

    我通过创建这样的方法来解决它:

    def addChannel(self):
        global channelCount
        self.scrollLayout = QFormLayout()
    
        self.canal = QwtPlot()
        self.canal.setLayout(self.scrollLayout)
    
        self.scrollArea = QScrollArea()
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setWidget(self.canal)
    
        if channelCount <= 5:           
            self.splitter1.addWidget(self.scrollArea)
            channelCount += 1
            return channelCount
    

    使用“channelCount”作为全局变量,从 1 开始,只是因为我只想要 5。

    我补充一下:

    self.addchannel()
    

    QMainWindow 班级

    希望它可以帮助某人。

    【讨论】:

      猜你喜欢
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      相关资源
      最近更新 更多