2010-04-29 2 views
0

Я пытаюсь реализовать нередактируемый QTableView с виджетами в ячейках, которые должны содержать текст с текстом в виде текста. С следующий код я устанавливаю виджет в определенной ячейке:Как создать виджет с интерактивным текстом в QT/PyQt?

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

Я использовал HTML, чтобы сделать текст кликабельным лейбла, но ссылки стал синим с подчеркиванием и, кроме того, щелкнув по нему правой кнопкой мыши всплывающее меню с «Copy появляется Link Locaion ", где я хотел разместить некоторую скрытую информацию вместо url и, конечно же, не позволял пользователю видеть эту информацию.

Я ищу легкий виджет, я думал, что вставка QGraphicsView в каждую ячейку приведет к большим нагрузкам на компьютер, но не может думать о каком-либо другом решении.

Можете ли вы посоветовать, что я должен использовать для этой цели?

Спасибо заранее

Serge

ответ

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>"