【问题标题】:QScrollArea does not attach to labelQScrollArea 不附加到标签
【发布时间】:2017-04-15 19:49:01
【问题描述】:

我正在尝试在 Box 布局中显示带有滚动条的图像标签。 但是,滚动区域以错误的大小出现在错误的位置。 你能告诉我我做错了什么吗?

import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButton, QLabel, QScrollArea
from PyQt5.QtGui import QPixmap


class ApplicationWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)

        main_widget = QWidget(self)

        btn = QPushButton("Bye", self)
        btn.clicked.connect(self.close)

        img = QPixmap("1.jpg")
        label = QLabel(main_widget)
        label.setPixmap(img)

        scrollArea = QScrollArea(main_widget)
        scrollArea.setWidgetResizable(True) 
        scrollArea.setWidget(label)

        l = QVBoxLayout(main_widget)
        l.addWidget(label)
        l.addWidget(btn)

        self.setCentralWidget(main_widget)


    def closeEvent(self, ce):
        self.close()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    aw = ApplicationWindow()
    aw.show()
    app.exec_()

结果是:

【问题讨论】:

    标签: python pyqt pyqt5 qlabel qscrollarea


    【解决方案1】:

    问题在于,您必须添加QScrollArea,而不是将QLabel 添加到QVBoxLayout。你必须改变:

    l.addWidget(label)
    

    l.addWidget(scrollArea)
    

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 2019-05-12
      • 1970-01-01
      • 2014-01-11
      • 1970-01-01
      相关资源
      最近更新 更多