pyqt4 python의 qlistwidget에 이미지/아이콘을 추가하는 방법은 무엇입니까? 채팅 시스템처럼 텍스트 아이콘을 추가하고 싶습니다. 감사합니다qlistwidget pyqt4 python에서 텍스트가있는 이미지를 추가하는 방법은 무엇입니까?
답변
나는이 스크립트와 같은 폴더에 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을 할 수있는 방법을 볼 수 없습니다.smileys는 텍스트가 비어 있고 아이콘 만있는 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()
안녕!
내 유일한 문제는 아이콘 양식 텍스트를 분리하는 방법입니다. 답변 해주셔서 감사합니다. – unice
도움이 되었기 때문에 기쁩니다. 지금 가지고있는 문제의 예를 들어 줄 수 있습니까? 좀 더 도움을 주려고합니다. –
텍스트 편집기를 사용했습니다. 예를 들어 나는 "thanks :)"라는 메시지를 가지고있다. 텍스트와 아이콘 삽입은 별도의 기능이므로 :) 아이콘 또는 텍스트로 삽입됩니다 어떻게 알 수 있습니다. 또는 어떻게 삽입 아이콘 또는 텍스트 기능에 대한 메시지를 파싱합니까. 감사합니다 @ValiumKnight – unice
['QListWidgetItem'] (http://qt-project.org/doc/qt-4.8/qlistwidgetitem.html#QListWidgetItem-3)에는 아이콘이있을 수 있습니다. 뭐가 문제 야? – Avaris
텍스트 앞뒤에 아이콘을 추가하고 싶습니다. 가능한가? – unice