Qt如何去掉按钮等控件的虚线框(焦点框)

方法1:可以通过代码ui->pushButton->setFocusPolicy(Qt::NoFocus)或在Qt Creator的属性列表中设置。

方法2:如果在嵌入式设备中需要通过按键切换控件,最简单的方法就是通过控件的focus来实现,就不能使用方法1          了。此时可以通过qss样式表来去掉虚线框,代码如下所示。


ui->pushButton->setStyleSheet("outline: none");

方法3:也是通过qss样式表来实现,代码如下所示。

ui->pushButton->setStyleSheet("padding: -1");

---------------------
作者:灿哥哥
来源:CSDN
原文:https://blog.csdn.net/caoshangpa/article/details/51771696
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/nanqiang/p/10538429.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`QTableView` 是 Qt 库中的一个用于显示表格数据的组件。默认情况下,当用户选择某个单元格时,会有一条虚线显示选中区域。若想移除这一效果,可以通过修改 `QTableView` 的样式表 (style sheet) 来达到目的。 以下是通过设置样式表来移除选中项虚线的步骤: ### 步骤 1: 获取 QTableView 实例 首先,你需要有一个 `QTableView` 实例。假设这个实例已经存在于你的界面中,并命名为 `tableView`。 ```cpp QTableView *tableView = // ... 初始化你的 QTableView 代码 ``` ### 步骤 2: 设置样式表 接着,你可以通过以下代码设置样式表来移除虚线: ```cpp QString styleSheet = "QTableView::item:selected { border: none; }"; tableView->setStyleSheet(styleSheet); ``` 在这个样式表中,我们使用了 CSS 类型的选择符 `QTableView::item:selected`。这里的 `::` 表示这是一个内部选择符,它指定的是特定元素的子元素。在此处,`::item` 指定了 `QTableView` 中的每个项目 (`QTableWidget::item`) 被选择时的行为。然后我们设置了边框属性 `border` 为空字符串 `""`,以此来移除被选择项的边框。 ### 步骤 3: 确保样式有效应用 为了确保你的样式改变能立即生效并应用到所有后续的操作上,你可以在应用或者重绘视图的时候直接设置样式表。如果需要在运行时动态更新,可以考虑在信号槽连接中完成此操作,例如 `tableView->selectionChanged()` 信号。 ### 相关问题: 1. **如何自定义 QTableView 的行高和列宽?** - 可以通过设置 `horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch)` 和 `verticalHeader()->setDefaultSectionSize(高度值)` 来调整宽度和行高。 2. **QTableView 如何添加垂直滚动条?** - 默认情况下,`QTableView` 就有垂直滚动条。若未自动出现,可以检查控件布局是否限制其可见性,或者代码中是否存在错误导致其未正常加载。 3. **如何禁用 QTableView 的编辑功能?** - 通过设置 `tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);` 来关闭编辑触发机制即可。 通过上述方法,你可以有效地控制 `QTableView` 的外观,包括移除选中项的虚线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值