复选框的组合框?

2024-01-14

我正在尝试将这些项目制作成ComboBox可检查。我试过这个:

http://programmingexamples.net/wiki/Qt/ModelView/ComboBoxOfCheckBoxes http://web.archive.org/web/20180816153248/http://programmingexamples.net/wiki/Qt/ModelView/ComboBoxOfCheckBoxes

我在哪里子类化QStandardItemModel并重新实施了flags()功能使项目可检查。然后我将此模型添加到ComboBox。不幸的是,项目中没有出现复选框。谁能看到我哪里出了问题?


您是否设置了检查状态并使它们可检查?

在我下面的示例中,这一行至关重要:

item->setData(Qt::Unchecked, Qt::CheckStateRole);

如果省略,复选框将不会呈现,因为没有要呈现的有效检查状态。

该示例显示了组合框、列表和表格中的复选框,因为我一开始也无法让它工作,所以我尝试了不同的视图。

test.cpp

#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);

    QStandardItemModel model(3, 1); // 3 rows, 1 col
    for (int r = 0; r < 3; ++r)
    {
        QStandardItem* item = new QStandardItem(QString("Item %0").arg(r));

        item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
        item->setData(Qt::Unchecked, Qt::CheckStateRole);

        model.setItem(r, 0, item);
    }

    QComboBox* combo = new QComboBox();
    combo->setModel(&model);

    QListView* list = new QListView();
    list->setModel(&model);

    QTableView* table = new QTableView();
    table->setModel(&model);

    QWidget container;
    QVBoxLayout* containerLayout = new QVBoxLayout();
    container.setLayout(containerLayout);
    containerLayout->addWidget(combo);
    containerLayout->addWidget(list);
    containerLayout->addWidget(table);

    container.show();

    return app.exec();
}

test.pro

QT=core gui
SOURCES=test.cpp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

复选框的组合框? 的相关文章

  • 如何创建QWidget的屏幕截图?

    我在 Qt Creator 中做作业 在其中绘制 QWidget 并且需要保存此 QWdiget 的某些部分 我试图解决这个问题 QPixmap pixmap pixmap copy rectangle rectangle is part
  • (如何)我可以抑制未找到包配置文件的警告吗?

    我正在尝试创建一个CMakeLists txt尝试查找的文件Qt5 如果失败 则尝试回退到Qt4安装 该脚本到目前为止有效 但如果出现以下情况我总会收到警告Qt5未安装 注意FindQt5 cmake是由提供Qt5并且仅当以下情况时才可用Q
  • Qt mouseReleaseEvent() 未触发?

    我有一个显示图片的库 我们称之为 PictureGLWidget 其中 class PictureGLWidget public QGLWidget 所以 PictureGLWidget 扩展了 QGLWidget 在PictureGlWi
  • Qt:将拖放委托给子级的最佳方式

    我在 QWidget 上使用拖放 我重新实现了 DragEnterEvent dragLeaveEvent dragMoveEvent 和 dropEvent 效果很好 在我的 QWidget 中 我有其他 QWidget 子级 我希望它们
  • QtCreator 调试暂停停在代码而不是汇编处

    如何配置 QtCreator 以便在调试并按下暂停时它会显示当前正在处理的代码 现在显示汇编 无法在任何地方找到有关此问题的答案 我使用的是 Windows 7 我在 Ubuntu 16 04 中使用 Qt Creator 4 2 2 时遇
  • QTextEdit.find() 在 Python 中不起作用

    演示问题的简单代码 usr bin env python import sys from PyQt4 QtCore import QObject SIGNAL from PyQt4 QtGui import QApplication QTe
  • PyQt:如何设置组合框项目可检查?

    为了将 GUI 小部件数量保持在最低限度 我需要找到一种方法来为用户提供下拉菜单项的选择 这些菜单项可用于过滤掉 listWidget 项中显示的内容 假设 listWidget 列出了 5 个不同类别的项目 Cat A Cat B Cat
  • 禁用 QML Slider 的鼠标滚轮

    我希望能够滚动Flickable使用鼠标滚轮 或触摸板上的两根手指 不改变Sliders它可能包含 示例代码及结果应用 import QtQuick 2 7 import QtQuick Window 2 2 import QtQuick
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 向 Qt 样式表添加特异性时丢失样式

    这是我的代码 const QString STYLE SHEET background color rgba x x x y border 1px solid gray border radius 0px border top 1px so
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 如何使QTableView类的restoreState()和saveState()正常工作?

    首先 我想说 我的问题已经在这里讨论过 并且这里是 https stackoverflow com questions 1163030 qt qtableview and horizontalheader restorestate 但答案并
  • 从 Qt4 中的文本文件中逐字读取

    我想在 Qt4 中逐字读取一个文本文件 说实话我对它很陌生 我想在另一个文件中每行一个字写入 我可以在 C 中做到这一点 没有任何问题 但是当我尝试在 Qt4 中使用 ifstream 和 ofstream 时 我遇到了错误 这是我的 Qt
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • QML 连接:不推荐使用连接中隐式定义的 onFoo 属性

    升级到 Qt 5 15 时收到以下错误消息 QML Connections Implicitly defined onFoo properties in Connections are deprecated Use this syntax
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • Mac 上的 Qt — 如何访问帮助菜单中的“搜索”

    我正在将我的 Qt 应用程序移植到 Mac OS X 在 Windows Linux 上 我使用 QLineEdit 在帮助菜单中提供搜索功能 In Mac OS X I saw something like this is built i
  • 如何消除 QTableWidget 中的空白?

    How do I get rid of the whitespace in my application 我想摆脱 QTableWidget 中的空白 蓝色箭头 我该怎么做 这是我的应用程序的代码 gridLayout QGridLayou
  • Qt GUI 应用程序中的控制台输出?

    我有一个在 Windows 上运行的 Qt GUI 应用程序 它允许传递命令行选项 在某些情况下我想向控制台输出一条消息 然后退出 例如 int main int argc char argv QApplication a argc arg
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到

随机推荐

  • Qt 中带有进度回调的 CopyFileEx

    有人能给我一个在 Qt 中使用 CopyFileEx 和进度回调的工作示例吗 我发现了一些划痕并尝试合并它但没有成功 我什至无法将 CopyProgressRoutine 函数作为 CopyFileEx 的参数传递 因为我无法声明指向该函数
  • 加载 data.table 对象后直接使用 get(data.table) 生成新变量

    我正在尝试在 data table 中生成一个新变量 我生成 保存并再次加载该变量 加载后 我通过 get 间接寻址 data table 只要我之前不直接寻址它以创建变量 这对于生成新变量就不起作用 可能是某种环境问题 Generate
  • CDI 注入在 Servlet 中不起作用

    我真的需要你的帮助 我现在正在研究这个问题几周或几个月 对于这么长的帖子 我深表歉意 但我想尽可能准确地解释问题和我的设置 我的 JAVA EE 6 Web 应用程序主要包含 3 个 Servlet javax faces webapp F
  • 如何从我的 Git 存储库中删除未引用的 blob

    我有一个 GitHub 存储库 有两个分支 master and release The release分支包含二进制分发文件 这些文件导致存储库大小非常大 超过 250 MB 因此我决定清理这些内容 首先我删除了远程发布分支 通过git
  • Hibernate 5 和类型化标准查询 (JPA2)

    问题 1 如果我从 Hibernate 4 x 升级到 Hibernate 5 x 我是否仍然可以使用 旧 条件查询 或者仅使用新的条件查询TypedJPA2 标准查询 旧的是否已被弃用 或者我可以同时使用两者吗 2 我是否正确理解新的类型
  • ASP.NET Core 中 IUrlHelper 的注入

    In RC1 IUrlHelper可以注入到服务中 用services AddMvc 在启动课程中 这不再适用于RC2 有谁知道怎么做RC2就像刚刚更新一个UrlHelper需要一个ActionContext目的 不知道如何将其置于控制器之
  • 无法通过 Apps 脚本 (JDBC) 连接到本地 MySQL 服务器

    请参阅下面的编辑 我留下原始问题以帮助其他人 我尝试通过 Apps 脚本和 JDBC 连接到本地 MySQL 服务器 但我不断收到两个错误之一 这段代码 function connectTest var conn Jdbc getConne
  • 如何打开屏幕?

    重复警告 此问题针对服务和前端 有一些类似的线程 但重点关注 GUI 方法 Problem 从任何状态开始 背景中播放音乐 屏幕打开 原文如此 屏幕关闭 手机锁定 手机解锁等等 我只想更改状态中的一件事 打开屏幕 其他什么都不应该改变 At
  • 在调查问卷样式 DataGridView 中仅从多个复选框列中选择一个复选框

    我创建了一个显示DataGridView带着一系列的问题 dgv 结构由一个用于问题文本的字符串列和三个用于答案的布尔 复选框列 是 否 N A 组成 每个问题都显示在自己的行中 我希望我的程序只允许用户在每一行上仅选择 是 否 或 不适用
  • PHP 7.4 检查属性是否真正初始化

    我想在 PHP 7 4 中检查属性是否真正初始化 将属性设置为 null 意味着它是用 null 初始化的 我不能使用isset因为即使设置为 null 它也会返回 false 我不能使用property exists因为即使未初始化它也会
  • 具有相同名称的 Jaxb 对象

    似乎可以解组两个不同的 jaxb具有相同的对象name 有一个Bar班级 public abstract Bar private XmlElement String val 有两个实现 构造函数等省略 XmlRootElement name
  • 使用okHttp上传图片

    我想使用上传图像okhttp但我无法找到用于发布图像的 MultipartBuilder 我可以用什么来代替这个 这是我的代码 public static JSONObject uploadImage File file try final
  • 传递地图坐标数组以在地图上快速绘制路线

    您好 我有一个像这样的坐标数据数组 它是从 API 调用中检索的 我使用 for 循环将数据附加到如下数组中 extension TripListViewController UITableViewDelegate func tableVi
  • 什么是 def ... else ... end 结构?

    我有这个代码 def with else puts we enter something funny if true puts yes return YES end return what else puts no return else
  • 如何将线性线添加到具有数据框的多个数据集的图中?

    我有以下数据框 expected observed group 1 0 5371429 0 0000 1 2 1 3428571 1 3736 1 3 2 6857143 2 4554 1 4 5 3714286 3 6403 1 5 0
  • Sitecore DateField 的 DateTime 属性显示错误的日期

    在我的 Sitecore 项目中我使用DateTime Sitecore 的类型 字段作为属性Item 我试图通过以下代码获取该值 var dateField DateField item Fields Date var itemDate
  • Drupal 6:提交时 form_state 值为空

    我正在尝试在 Drupal 6 中创建一个自定义表单 下面的代码似乎一切正常 包括提交时在数据库中创建一个新条目 但所有 form state 值都是空的 我缺少什么
  • 操作码中的汇编段

    我注意到在操作码中使用了汇编段 Example MOV DWORD PTR SS EBP 30 30 我认为 PTR SS 用于指定EBP 30来自堆栈 SS 堆栈段 我是对的还是完全错的 而且 你能告诉我上面的例子和 MOV DWORD
  • java.lang.IllegalArgumentException:setAttribute:不可序列化的属性

    我继承了一些代码 当我尝试运行它时遇到错误 错误如下 10 08 32 093 ERROR MyServlet 260 Servlet service for servlet MyServlet threw exception java l
  • 复选框的组合框?

    我正在尝试将这些项目制作成ComboBox可检查 我试过这个 http programmingexamples net wiki Qt ModelView ComboBoxOfCheckBoxes http web archive org