【问题标题】:QWidget for Image图像的 QWidget
【发布时间】:2016-06-13 22:14:27
【问题描述】:

我正在尝试在 PyQt5 中创建一个简单的 QGridLayout 图像,但发现自己卡住了,因为 QGridLayout 仅具有通过 .addWidget().addLayout() 添加小部件和布局的功能。

下面是我的代码,它需要 QWidget,但出现问题,因为我似乎找不到任何可以处理 png/jpg 文件的 QWidgets

class myGrid(QWidget):
    def __init__(self):
        QObject.__init__(self)

        # Create Layout
        self.lay = QGridLayout()
        self.setLayout(self.lay)

        i1 = QIcon("imgs/img1.png")
        i2 = QIcon("imgs/img2.png")
        i3 = QIcon("imgs/img3.png")
        i4 = QIcon("imgs/img4.png")

        # Add Images to Layout
        self.lay.addWidget(i1, 0, 0)    # Error because type(i1) != QWidget

以上只是我想添加到布局中的第一张图片。唯一的问题是因为QIcon 在技术上不是QWidget 我收到了编译器错误。

我查看了其他处理图像的QObjects,包括QImageQPainter,但因为这些类都是QtGui 类型,我无法将它们传递到我的网格中。

对于如何从图像生成QWidget 或使用处理图像的特定QWidget 有何建议?

【问题讨论】:

    标签: qt qt5 qwidget pyqt5 qgridlayout


    【解决方案1】:

    QLabel 是您需要的小部件。它可以显示一个 QPixmap,而不仅仅是文本。

    【讨论】:

    • 小问题,我是用这些QIcon's 放入QListWidgetItem's。有没有比QListWidget 更好的QWidget 用于向布局添加图像列表?
    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多