【问题标题】:PySide: how to scale up images in QTableWidget?PySide:如何在 QTableWidget 中放大图像?
【发布时间】:2018-10-17 13:02:25
【问题描述】:

我对 PySide QTableWidget 有疑问。我需要在所有行图像预览的第一列中添加。我正在尝试使用 QIcon 添加它:

library_table.insertRow(index)
library_table.setItem(index, 1, QTableWidgetItem(file))
image = QIcon(self.sub_ad + file)
library_table.setItem(index, 0, QTableWidgetItem(image, ""))

但是图片很小。

我尝试使用 QSize、QPixmap 等但没有任何成功,大小仍然相同。我怎样才能使这个 prev 图像更大?

【问题讨论】:

    标签: python pyside qtablewidget qicon


    【解决方案1】:

    一个简单的解决方案是建立一个委托,使用setItemDelegateForColumn() 方法在QTableWidget 中调整图标大小和设置:

    from PySide import QtCore, QtGui
    
    
    class IconDelegate(QtGui.QStyledItemDelegate):
        def initStyleOption(self, option, index):
            super(IconDelegate, self).initStyleOption(option, index)
            option.decorationSize = option.rect.size()
    
    
    class MainWindow(QtGui.QMainWindow):
        def __init__(self, parent=None):
            super(MainWindow, self).__init__(parent)
            table_widget = QtGui.QTableWidget()
            self.setCentralWidget(table_widget)
            table_widget.setColumnCount(2)
    
            table_widget.verticalHeader().setDefaultSectionSize(80)
    
            for index, file in enumerate(("clear.png", "butterfly.png")):
                table_widget.insertRow(table_widget.rowCount())
                item1 = QtGui.QTableWidgetItem(QtGui.QIcon(file), "")
                item2 = QtGui.QTableWidgetItem(file)
                table_widget.setItem(index, 0, item1)
                table_widget.setItem(index, 1, item2)
    
            delegate = IconDelegate(table_widget)
            table_widget.setItemDelegateForColumn(0, delegate)
    
    
    if __name__ == '__main__':
        import sys
    
        app = QtGui.QApplication(sys.argv)
        w = MainWindow()
        w.show()
        sys.exit(app.exec_())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多