gpt4 book ai didi

python - 如何在 qlistwidget pyqt4 python 中添加带有文本的图像?

转载 作者:行者123 更新时间:2023-11-28 22:02:54 24 4
gpt4 key购买 nike

如何在 pyqt4 python 的 qlistwidget 中添加带有文本的图像/图标?我想添加一个带有文本的图标,就像聊天系统一样。谢谢

最佳答案

我现在已经试过了并且它有效,假设你有一个名为 tick.png 的文件与这个脚本在同一个文件夹中。

import sys
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import QApplication, QDialog, QListWidgetItem, QListWidget, QIcon

def main():

app = QtGui.QApplication(sys.argv)
window = QDialog()

list = QListWidget( window )

itm = QListWidgetItem( "Tick" );
itm.setIcon(QIcon(r"tick.png"));
list.addItem(itm);

window.show( )
sys.exit(app.exec_())

if __name__ == '__main__':
main()

类似聊天图标的系统可能与此不同,但现在我看不到有一个 QListWidgetItem 具有多个笑脸和文本的方法。

您可能会认为笑脸符号是 QListWidgetItem 的一种特殊情况,其中文本为空白且仅存在图标。

另一种解决方案是使用只读 QTextEdit 作为聊天板,让用户在单独的可编辑 QTextEdit 中键入其文本 + 图标 + 文本(等)。然后,当他按下发送按钮时,将他键入的所有内容附加到只读 QTextEdit。

import sys
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import QApplication, QDialog, QListWidgetItem, QListWidget, QIcon, QTextEdit, QTextDocumentFragment

def main():

app = QtGui.QApplication(sys.argv)
window = QDialog()

list = QListWidget( window )

textEditor = QTextEdit( window );
textEditor.setReadOnly( True )
tick_icon = QTextDocumentFragment.fromHtml(r"<img src='tick.png'>");

textEditor.insertPlainText ( " ValiumKnight writes: " )
textEditor.textCursor().insertFragment(tick_icon);
textEditor.insertPlainText ( " Hello World " )
textEditor.textCursor().insertFragment(tick_icon);
textEditor.textCursor().insertFragment(tick_icon);
textEditor.textCursor().insertFragment(tick_icon);

window.show( )
sys.exit(app.exec_())

if __name__ == '__main__':
main()

再见!

关于python - 如何在 qlistwidget pyqt4 python 中添加带有文本的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com