【问题标题】:How can I add images in list widget in PyQt5? [closed]如何在 PyQt5 的列表小部件中添加图像? [关闭]
【发布时间】:2020-09-10 13:58:30
【问题描述】:

tartube image which is written in pygtk

我想要实现的只是一个缩略图和一些数据,如图像上方显示的 PyQt5 中 ListWidget 中的一个项目。

我有缩略图的 url 以及标题、频道名称等所有数据。

我可以通过这样做获得列表小部件中的标题:

titles = ['title1','title2']
self.listWidget.addItems(titles) 

该设计由 Qt Designer 创建并使用 pyuic5 转换为 python。

这是我在 stackoverflow 中的第一个问题。我也知道我应该共享代码,但代码通常由 pyuic5 生成,其中只有 listWidget(基于项目)。

提前致谢。

【问题讨论】:

    标签: python-3.x pyqt5 qlistwidget qlistwidgetitem


    【解决方案1】:

    如果您想在 QListWidget 中放置带有文本的图像,您需要将 QIcon 与 Text 组合成一个 QListWidgetItem,如下所示:

    from PyQt5 import QtGui, QtCore, QtWidgets
    import os
    
    icon_path = os.getcwd() + "\icon.jpg"
    titles = ['title1','title2']
    
    class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
        def __init__(self, *args, **kwargs):
            QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
            
            self.setupUi(self) 
            #add list of strings
            self.listWidget.addItems(titles)
            #create QIcon
            icon = QtGui.QIcon(icon_path)
            #Create the row with Icon + Text
            item = QtWidgets.QListWidgetItem(icon, "Hello this is a test")
            #set size of the item
            size = QtCore.QSize()
            size.setHeight(100)
            size.setWidth(400)
            item.setSizeHint(size)
            #Put the item into the widget
            self.listWidget.addItem(item)
            
    if __name__ == "__main__":
        app = QtWidgets.QApplication([])
        window = MainWindow()
        window.show()
        app.exec_()
    

    你会得到这样的东西:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多