问题标签 [qcheckbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
292 浏览

qt - 有什么方法可以动态添加 Chekboxes 以便我可以在定义范围之外访问它们及其检查状态?

我想动态添加复选框。我发现一些链接很有帮助,但每个链接都有我无法解决的问题。

例如,在此链接中,我们可以动态创建和添加QCheckBoxes,但我无法在其定义范围之外访问它们(for)。

另一种方法是使用QListWidgetItemwith setCheckState。但它有一个很大的问题!当我点击 时CheckState,它没有注意到它,只关注焦点所在的项目!!!!{在这些链接中介绍了这个问题,但没有解决方案:this and this }

有什么方法可以动态添加 Chekboxes 以便我可以在定义范围之外访问它们及其检查状态?

0 投票
4 回答
9136 浏览

c++ - 如何使 QCheckBox 只读,但不灰显

任何使复选框只读的好方法,但也不会变灰(几乎不可见)。

  1. 我已经使用setEnabled(bool)了哪个有效,但是该复选框随后显示为灰色且难以阅读
  2. 我可以对切换信号做出反应并重置状态。但是我需要一种标志来确定该框是否为只读,然后重置检查状态,这意味着我需要创建自己的CheckBox类。
  3. setCheckable也不起作用,它根本不允许我设置检查状态:

    /li>

所以我最好的办法是使用启用/禁用并接受灰色的样式。

- - - - 编辑 - - - -

按照样式表示例,我希望可以设置禁用复选框的样式,例如启用的复选框。到目前为止未能这样做。更具体地说:更改示例中的图标对我不起作用,可能是因为我使用的是 Windows,并且图标在示例中的路径下不可用。


PS:相关,但这里没有答案

以一种棘手的方式禁用 QCheckbox
Qt - 如何在保持选中状态的同时禁用 QCheckBox?

0 投票
1 回答
431 浏览

qt - Qt QSignalMapper 正在为地图中的每个项目发出信号

我有一个接收我创建的类的 QList 的函数。我们称这个假设的类为“Stuff”。所以,这个函数接收一个 QList of Stuff

我遍历 QList,根据“Stuff”对象的属性,我将生成以下内容之一:

1) QLine编辑

2) QCheckBox

3) QComboBox

这不是实际的代码,但这就是我本质上在做的事情:

问题是,如果我通过编辑 QLineEdit、选中复选框或更改组合框值仅触发 Widget 的一个信号,则会调用 onStuffChanged(int) 函数 N 次,其中 N = number of mSignalMapper 的映射。

这里发生了什么?如果我遍历并创建 10 个小部件,则仅单击 10 个小部件中的 1 个会调用该函数 10 次,而这 10 次中的每一次都会传递与仅与我交互的 1 个对象相关联的唯一 int。因此,如果 10 个小部件中的第一个是唯一 int ID 为 27 的复选框,则 onStuffChanged(int) 函数将被调用 10 次,每次参数为 27。

0 投票
2 回答
5857 浏览

qt - QStyledItemDelegate:如何使复选框按钮在单击时更改其状态

我有一个MyDelegate用于QListWidget. 委托派生自QStyledItemDelegate. 的目标之一MyDelegate是在 的每一行上放置一个复选框按钮ListWidget。它是在以下paint()事件中完成的MyDelegate

起初我以为复选框会在单击时自动更改其状态,因为我指定了QStyle::CE_CheckBox. 但事实并非如此。看起来我必须手动指定复选框的视觉行为。

数据方面,当用户单击该复选框时,会发出某些信号并更改场景数据。我在执行此操作editorEvent()

后端部分工作。但是,我不知道如何使复选框按钮将其视觉状态从选中更改为未选中,然后向后更改。

我意识到我可以通过以下方式手动更改复选框状态paint()

QStyle::State_On/Off手动复选框状态改变的技巧。

但我不知道如何设置它someCondition以及我应该在哪里设置它。我试图将它作为一个私有bool变量引入,editorEvent()当复选框区域被点击时,它将被设置,但是,它不会产生所需的行为:它设置了所有其他复选框ListWidget为相同的视觉状态。因此,它的行为类似于所有复选框的某种全局条件。

我觉得,要完成我的任务,我必须重新实现按钮并使其在单击时更改复选框状态。但是我迷路了,不知道如何解决这个问题。从QStyleOptionButtonAPI我看不到clicked()我可以使用的任何其他方法。

所以,问题是:如何使复选框在视觉上表现得像一个复选框?如果我需要重新实现一个复选框,那么我应该继承什么类?

0 投票
0 回答
710 浏览

c++ - 高亮/焦点颜色 QCheckbox、QRadiobutton、QPushbutton

目前我正在“玩”C++ QT 和样式表。通常我在文档中找到了所有内容,但不幸的是,以下问题没有:

示例图片

在示例图片中,您将看到我编辑的 QPushButtons、QChecksBoxes 和 QRadioButtons。如果他们有“焦点”,他们会得到一个“蓝色矩形”。这是我的问题:如何编辑这个矩形?因为我想让它变红。(甚至不存在)我尝试使用“*:focus”,但这不起作用。“QPalette::Highlight”也不是正确的。

提前致谢 BR THW

0 投票
0 回答
253 浏览

c++ - 使用输入/返回检查 QCheckbox

我有一个QCheckbox,我正在尝试使用返回/输入的键盘按下而不是空格来更改状态。

对于 QPushbuttons/QLineEdit 等其他东西,我returnPressed()在信号中使用过,但是这不起作用,QCheckbox而且没有一个选项似乎适合。

当它有焦点时,如何更改QCheckbox返回/输入按下的状态。

我试过的代码是

0 投票
1 回答
544 浏览

qt - 从 cellWidget() 的 QCheckBox 中获取 QTableWidgetItem

我以以下方式将 QCheckBox 存储在 QTableWidget 中:

然后,我抓住stateChanged()checkBox

现在,我可以去QTableWidget——它是box->parent()->parent()->parent()。在此之前的对象,即box->parent()->parent(),是qt_scrollarea_viewport(即objectName())。我搜索了“视口”的子项,并且有16 QWidgets- 我的表中的行数。然而,他们的孩子只是QHBoxLayoutQCheckBox。显然没有引用QTableWidgetItem- 看起来我是否在某个并行对象层次结构中,并且QTableWidgetItem在其他层次结构中。真的吗?如何获得物品?

0 投票
1 回答
8414 浏览

python - QCheckBox 状态改变 PyQt4

我正在尝试在 PyQt4 中实现一个系统,其中取消选中复选框将调用函数 disable_mod 并检查它将调用 enable_mod。但即使状态正在改变,复选框也会调用它们开始使用的初始函数。对于这种情况,如果单击了已选中的框,它将始终继续调用 disable_mod 函数!我不明白为什么会这样?你们能帮我一下吗?这是我的代码:

0 投票
1 回答
303 浏览

python - QCheckBox 仅在检查两次时执行

我有一个 QCheckBox ( deselect_checkbox),当它被选中时,将另一个 QCheckBox ( first_checkbox) 和它自己设置为False. 但是,它仅每隔一次有效,我不知道为什么。这是代码:

每次检查时如何让该功能运行deselect_checkbox


将 QGIS 2.16.0 与 Qt Designer 4.8.5 一起使用。

0 投票
0 回答
254 浏览

python - 如何使用 python 更改 qt 中复选框的颜色?

我尝试了剪切代码,但不知何故它对我不起作用。有什么建议么?