问题标签 [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 回答
6066 浏览

c++ - QTableView中的可编辑复选框仅列

我有一个带有复选框的列QTableView。复选框由以下方式生成:

  1. 返回Qt::ItemIsUserCheckable被覆盖的flags成员函数
  2. 在被覆盖的函数中,我根据数据data()返回一个Qt::CheckStateforrole == Qt::CheckStateRole

作品,见截图。

但在复选框旁边,我在列中有一些可编辑的文本框。我怎样才能摆脱这个文本框(我已经输入“dsdsdsds”进行演示?澄清一下,复选框应该是可编辑的,但没有别的。

读取模式 编辑模式


根据要求,我只能显示简化版

如果我删除Qt::ItemIsEditable,那么该复选框也是只读的。后来我用类似的方法找到了一个SO 答案。


备注:在 QTableView 中没有 A checkbox only 列的重复

0 投票
1 回答
899 浏览

c++ - 取消选中/选中 QCheckBox 后使 QLabel 不可见/可见

我将从描述我的 C++ GUI 应用程序开始。

我有一个主屏幕(主窗口),其中有许多显示各种数据的标签(kpi)。主屏幕中有一个设置按钮,按下它会打开一个设置对话框(consettingsdialog),其中包含主窗口标签和应用程序本身的各种参数设置。在设置对话框中按下保存按钮后,设置参数被保存。

如果在 consettingsdialog 中选中或取消选中相应的复选框,我的目标是使主窗口中的某些标签可见/不可见。

这是我到目前为止所做的细节;

在我的 consettingsdialog.cpp

在我的 mainwindow.cpp

代码构建完美,没有任何错误,但是当我运行它时,无论我取消选中该复选框多少次,标签都保持可见。当我打开设置时,我看到复选框被选中。

我尝试通过将kpi1CheckBox->setChecked(true);consettingsdialog.cpp 更改为kpi1CheckBox->setChecked(false);但随后主屏幕中的标签仍然可见(根本不可见)。尽管在这种情况下,设置对话框中的复选框被设置为永久禁用。

现在感觉完全卡住了,我做错了什么?

0 投票
1 回答
1090 浏览

c++ - 将QCheckBox的状态保存在文件中,程序重启时加载状态

在我的 GUI 应用程序中,我的主窗口中有一些标签,标签的可见性由对话框中的复选框控制,该对话框在按下按钮(设置)时打开。现在,一切正常,即如果我打开设置对话框,我可以选中或取消选中复选框;因此,标签也设置为可见或不可见。

我的设置对话框.cpp

主窗口.cpp

现在的问题是,每次我的应用程序重新启动时,它都不会保留复选框的先前状态。所以我想将复选框的状态保存在一个变量中并将其写入一个文件,所以每当我的应用程序启动时,它都会读取文件并相应地设置复选框的状态。

我的问题是,如何将复选框的“状态”存储在变量中并将其写入文件。并再次使用相同的设置复选框的状态???

我的意思是从文件中读取/写入 QLabels 和 QLineEdits 的值很容易,但我对如何使用复选框感到困惑。

0 投票
0 回答
581 浏览

python - PyQt QTreeWidget - 将所有复选框设置为未选中时的奇怪延迟

我正在使用 PyQt4 和 Python3 构建一个应用程序,该应用程序使用 QTreeWidget 为用户提供一种方法来选择他们希望在将其加载到应用程序后与之交互的数据部分。

这棵树通常有 3 个级别。我将它们称为祖父母(文件夹)、父母(标题)和孩子(扫描)。

作为其中的一部分,我添加了一个按钮来简单地清除所有复选框(即将它们全部设置为未选中)。但是,当我这样做时,我会遇到一些奇怪的行为。解释:

  • 如果完全检查祖父母(即未部分检查),则清除工作正常
  • 但是,例如,如果只有一个孩子被选中(意味着父母和祖父母都被部分选中),则将父母和祖父母设置为未选中会有延迟(我只看复选框何时从部分选中到未选中)。子项立即从选中变为未选中,但其他更改有几秒钟的延迟。

这第二个观察在它发生的方式上并不一致。有时,例如,从部分检查到未检查的父级和祖父级的转换都挂起。其他时候,祖父母会立即改变,但父母会挂起,几秒钟后改变。

与上面类似,如果选中了其中一​​个 Parent 项目(因此,Grandparent 部分选中,Parent 的所有子项都被完全选中),尝试清除所有复选框会导致所有 Parent 和 Child 复选框立即转换,但是祖父母复选框在从部分选中过渡到未选中之前挂起一段时间。

将产生问题的简化代码:

因此,测试将是:

  • 检查“文件夹1”并尝试“清除复选框” - 这应该可以正常工作
  • 检查“folder1”下“signal1”下的“Sweep1”并尝试“Clear checkboxes” - 这应该会产生上述问题
  • 检查“文件夹1”下的“信号1”并尝试“清除复选框” - 这应该会产生上述问题

不知道如何解决这个问题,所以任何建议都将不胜感激。

编辑1:

所以只是玩这个,我注意到发生的事情是从部分检查到检查祖父母和/或父母(取决于整个树中检查的内容)的转换在鼠标移动之前不会发生。如果我点击“清除复选框”按钮,只要我不移动鼠标,部分选中的框将保持部分选中状态。但是,一旦我移动鼠标,它们就会正确过渡。

0 投票
0 回答
113 浏览

c++ - QChecbkBox 事件进入 QGraphicsScene

我对 QCheckBox 的行为有疑问。我在Qt5.3.2/MinGW下

我创建了一个 QGraphicsScene,我通过 QGraphicsProxyWidget 添加了几个 QCheckBox。

为了能够拖放、放大/缩小,我在 QMainWindows 中重新实现了虚拟方法eventFilter(QObject, QEvent)并将其应用于我的场景: scene->installEventFilter(this);

但我无法用QObject::connect捕捉 QCheckBox 信号:

如果我不在我的场景上应用事件过滤器,我的 QCheckBox 工作得很好。

如果现在我在 QCheckbox 上应用事件过滤器:

我收到第一个 QCheckBox 选择的事件。但是,如果我单击另一个 QCheckBox,则它是第一个被选中的 QCheckBox 的事件。QCheckBox 状态也没有修改,我需要将状态更改为QMainWindows::eventfilter

主窗口.cpp:

我做错了什么?谢谢你。

0 投票
2 回答
3266 浏览

python - 如何从复选框中获取文本?

我通过以下方式建立了一个组复选框:

如何获得被点击的复选框文本?

0 投票
1 回答
22 浏览

python-2.7 - 如何搜索特定类型的 qt gui 控件

我有一个QWidget包含 a ,QGroupBox其中包含QComboBox和。QLineEditQCheckBox

我需要绕过所有控件,如果控件是 a QCheckBox,请询问它是否被选中。我需要知道如何QCheckBox检查所有这些 - 这个想法可能是这样的:

0 投票
1 回答
4824 浏览

python - 如何在python中选中和取消选中所有复选框?

如何选择中的所有复选框

在蟒蛇?

0 投票
1 回答
1659 浏览

qt - 复选框的 QCombobox

我有一个问题,我希望你能帮助我。我想在 Qt Creator 上创建一个复选框组合框。这是我的代码

我构建了这段代码,但在组合框中没有复选框。网上有人告诉我,我必须使用该活动。你能帮助我吗?

0 投票
2 回答
939 浏览

qt - 如何在 QCheckBox 中的文本和复选框之间绘制一个正方形

我需要QCheckbox像这样自定义:在复选框和文本之间添加一个正方形例子

所以要做到这一点,我继承QCheckBox并覆盖paintEvent(QPaintEvent*)

我有一个问题,我不知道如何放置QRectF rec. 而且我不能将尺寸设置得太小,例如:当尺寸rec< QSize(10,10) 时它会消失。

任何想法表示赞赏。

PS:我使用 OpenSUSE 13.1 和 Qt 4.8.5