ZBLOG

QTreeWidgetItem 点击后不显示虚现边框

如果你希望在点击 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助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=19982

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?