如何在QT / PyQt中创建具有可点击文本的小部件?

时间:2010-04-29 00:39:23

标签: qt pyqt qtableview

我正在尝试使用应包含可点击列表文本的单元格中的小部件来实现不可编辑的QTableView。使用以下代码我在明确的单元格中设置小部件:

view = QTableView()
label = QLabel( <some html text> )
...
view.setIndexWidget(index, label)

我使用html来使标签的文字可点击,但链接变为蓝色并带有下划线,而且用鼠标右键单击它会出现带有“复制链接位置”选项的弹出菜单,其中我想放置一些隐藏的信息而不是网址当然不要让用户看到这个信息。

我正在寻找轻量级小部件,我认为在每个单元格中插入QGraphicsView会导致大量计算机负载,但无法想到任何其他解决方案。

您能否建议我应该为此目的使用什么?

提前谢谢

塞尔

2 个答案:

答案 0 :(得分:1)

使用QTextBrowser小部件代替QLabel。

答案 1 :(得分:0)

当我在文档支持的标签中看到时,我甚至没有尝试检查QLabel支持的样式。所以我用以下方法解决了这个问题:

self.setContextMenuPolicy(Qt.PreventContextMenu)
...
str = "<qt><style>a.class1 { color: black; text-decoration: none; }</style>"
str += "<a href='" + <hiden_value> + "' class='class1'>" + <value> + "</a>"