Tob*_*old 3 c++ python qt qt4 qtablewidget
我有一个QTableWidget的有残疾的setSelectionMode(QTableWidget的:: NOSELECTION),我填不具备的Qt :: ItemIsEditable标志QTableWidgetItems.
然而,单击的单元格会获得某种光标(在我的情况下,底部的黑线):

如何禁用此"光标"?
小智 18
#include <QTableWidget>
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
tableWidget->setFocusPolicy(Qt::NoFocus);
tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
Run Code Online (Sandbox Code Playgroud)
这些语句将禁用单元格中表格的选择。
这有帮助吗?
QPalette palette = tableWidget->palette();
palette.setBrush(QPalette::Highlight,QBrush(Qt::white));
palette.setBrush(QPalette::HighlightedText,QBrush(Qt::black));
tableWidget->setPalette(palette);
Run Code Online (Sandbox Code Playgroud)
详细说明:项目的外观由视图的调色板控制,您可以使用该TableWidget::palette()方法检索该视图.请注意,它会被返回,const因此您可以获得副本,更改它,然后使用它来应用它setPalette.另请注意,此处我只是将单元格颜色设置为白色,将文本颜色设置为黑色,理想情况下,您可以将其专门设置为默认单元格颜色(也可从调色板中获得).最后请注意,在我的情况下,该项仍然保留了与我在此处未尝试解决的默认边框不同的边框.
您可以阅读有关各种颜色定义的更多详细信息,例如此处(适用于Qt 4.8)http://qt-project.org/doc/qt-4.8/qpalette.html#ColorRole-enum
编辑:一些更筛选似乎你应该通过设置整个小部件的焦点策略,在交互(而不是选择)时删除小部件周围的任何边框,如下所示:
tableWidget->setFocusPolicy(Qt::NoFocus);
Run Code Online (Sandbox Code Playgroud)
如果这不能解决问题,那么我的想法很快就会出现.