为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 QtCore.Qt.UserRole 在 QListWidgetItem

如何使用 QtCore.Qt.UserRole 在 QListWidgetItem

摇曳的蔷薇 2021-09-02 19:30:58
我想在 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语法?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 303 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信