我想在 QListWidgetItem 中以粗体显示单个单词。根据此相关帖子,应该可以QtCore.Qt.UserRole用于此目的。但是,提供的示例代码对我不起作用。(因为我是初学者,我很可能忘记了一个定义,但我不知道是哪个。)这是我到目前为止:主界面<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> <class>Dialog</class> <widget class="QDialog" name="Dialog"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>341</width> <height>244</height> </rect> </property> <property name="windowTitle"> <string>Dialog</string> </property> <widget class="QWidget" name="verticalLayoutWidget"> <property name="geometry"> <rect> <x>10</x> <y>10</y> <width>321</width> <height>231</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QListWidget" name="lwOptions"/> </item> </layout> </widget> </widget> <resources/> <connections/></ui>测试文件import osimport sysfrom PyQt5 import QtCore, uicfrom PyQt5.Qt import QApplication, QDialog, QListWidgetItemclass GUI(QDialog): def __init__(self): super(GUI, self).__init__() dirname = os.path.dirname(os.path.abspath(__file__)) uic.loadUi(os.path.join(dirname,'main.ui'), self) # this doesn't work for ordinal in ['first', 'second', 'third']: item = QListWidgetItem() item.setData(QtCore.Qt.UserRole, 'This is the <b>{}</b> word.'.format(ordinal)) self.lwOptions.addItem(item) for ordinal in ['fourth', 'fifth', 'sixth']: item = QListWidgetItem('This is the <b>{}</b> word.'.format(ordinal)) self.lwOptions.addItem(item)if __name__ == '__main__': app = QApplication(sys.argv) window = GUI() window.show() sys.exit(app.exec_())当我运行代码时,它会添加三个空行和三个带有逐字消息的行。什么是正确的QtCore.Qt.UserRole语法?
添加回答
举报
0/150
提交
取消