如果你希望在点击 QTreeWidgetItem
时不显示虚线边框,可以通过设置样式表来实现。以下是如何做到这一点的步骤。
方法:使用样式表
可以为 QTreeWidget
设置一个样式表,禁用选中项时的虚线边框。以下是一个示例:
treeWidget->setStyleSheet("QTreeWidget::item:selected { border: none; }");
完整示例代码
下面的代码展示了如何创建一个 QTreeWidget
并禁用选中项的虚线边框。
#include <QApplication>
#include <QTreeWidget>
#include <QHeaderView>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QTreeWidget treeWidget;
treeWidget.setColumnCount(1);
treeWidget.setHeaderLabels(QStringList() << "Items");
// 添加示例项目
QTreeWidgetItem *parentItem = new QTreeWidgetItem(treeWidget);
parentItem->setText(0, "Parent Item");
QTreeWidgetItem *childItem1 = new QTreeWidgetItem(parentItem);
childItem1->setText(0, "Child Item 1");
QTreeWidgetItem *childItem2 = new QTreeWidgetItem(parentItem);
childItem2->setText(0, "Child Item 2");
// 设置样式表以去掉选中时的虚线边框
treeWidget.setStyleSheet("QTreeWidget::item:selected { background-color: lightblue; border: none; }"
"QTreeWidget::item { padding-left: 5px; margin-left: 0px; }");
treeWidget.expandAll(); // 展开所有项目
treeWidget.show();
return app.exec();
}
说明
border: none;
将移除被选中项周围的任何边框。- 你也可以调整背景颜色等属性,以适应你的需求。
- 如果还需要自定义其他状态(例如鼠标悬停或普通状态),可以继续在样式表中添加相应的选择器。
这样设置后,点击项时就不会显示虚线边框了。如果有进一步的问题,请告诉我!
内容由零声教学AI助手提供,问题来源于学员提问