QTableView - 限制所选项目的数量?

2024-02-20

问题就在标题里。 没有函数 QTableView::set_Max_Number_SelectedItems( int )。

当所选项目的数量为 2 时,我想禁用项目选择。

Thanks


您可以通过以下方式禁用选择:

connect(ui->tableView->selectionModel(),&QItemSelectionModel::selectionChanged,[=]() {//with lambda
    if(ui->tableView->selectionModel()->selectedIndexes().size() > 1)
        ui->tableView->setSelectionMode(QAbstractItemView::NoSelection);
});

我这里用过C++11 (CONFIG += c++11 to .pro文件)和信号和槽的新语法 http://qt-project.org/wiki/New_Signal_Slot_Syntax,但是如果您愿意,当然可以使用旧语法。

但在这种情况下,此用户将根本无法使用选择。如果这是你想要的,那就没问题了。如果不是,那么您可以启用选择,例如tableView失去焦点或为此提供特殊按钮。

但我也认为下一个代码更适合你:

connect(ui->tableView->selectionModel(),&QItemSelectionModel::selectionChanged,[=]() {//with lambda
    if(ui->tableView->selectionModel()->selectedIndexes().size() > 2)
    {
        QList<QModelIndex> lst = ui->tableView->selectionModel()->selectedIndexes();
        ui->tableView->selectionModel()->select(lst.first(),QItemSelectionModel::Deselect);
    }
});

它能做什么?当用户尝试选择 2 个以上的项目时,最后选择的项目将取消选择,并且用户根本无法选择 2 个以上的项目,只能选择最后选择的 + 当前选择的项目。我不知道您的任务规范,因此请选择最合适的方法。

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

QTableView - 限制所选项目的数量? 的相关文章

  • 将项目添加到自定义组件的布局

    我有一个习惯Footer Component我想在 QML 应用程序的不同位置重用它 Rectangle color gold height 50 anchors bottom parent bottom left parent left
  • 如何在Qt中设置编译器?

    我对 Qt 完全陌生 我下载了离线版本 Qt 5 3 2 for Windows 64 bit VS 2013 OpenGL 573 MB 我无法编译我的项目 I have Qt Creator 3 2 1 开源 基于Qt 5 3 2 MS
  • cx_freeze:QODBC 驱动程序未加载

    我的 python 应用程序如下所示 test py from PyQt4 import QtCore from PyQt4 import QtGui from PyQt4 import QtSql import sys import at
  • Windows 消息循环而不是 QApplication::exec() / QApplication::processEvents()

    我是否想念任何一个Qt如果我替换功能QApplication exec 使用标准 Windows 消息循环实现 这应该可以澄清我的意思 运行事件处理的常用 Qt 方式 int main int argc char argv QApplica
  • 调整 QML 图像显示尺寸

    我有一个带有嵌套的 QML 窗口RowLayout 在内排我有两个图像 来源 png这些图像的文件 故意 相当大 当我尝试设置height这些图像上的属性使它们变小 但它们仍然被画得很大 Desired Appearance Actual
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • Qt 支持在 QIcon 中为 SVG 着色

    看来 Qt 不支持 SVG 中路径标签上的描边 填充选项
  • QGraphicsView 和 eventFilter

    这个问题已经困扰我两天多了 所以我想我应该问一下 我在Win7上使用Qt 4 5 3 用VC2008编译 我有 MyGraphicsView 继承 QGraphicsView 和 MyFilter 继承 QObject 类 当我将 MyFi
  • Qt程序部署到多平台,如何?

    我是 Qt 编程新手 我想开发一个程序 我想在 Windows Linux ubuntu 和 Mac 上运行 听说Qt支持多平台应用程序开发 但我的问题是 在我部署或编译后 任何 Qt 库都需要在 Ubuntu 中运行这个应用程序吗 如果您
  • 使用 cmake 将两种解决方案合二为一

    我有两个单独的 Visual Studio 2013 解决方案 我想将它们迁移到一个解决方案中 因为第一个解决方案 使用 Qt 充当第二个解决方案的 GUI 最后 我希望有一个结构如下的单一解决方案 Solution All Build P
  • 有没有办法在没有 QApplication::exec() 的情况下使用 Qt?

    有没有一种安全的方法可以在不调用 QApplication exec 的情况下使用 Qt 我有许多不同的对象正在对多个资源执行长期进程 至少其中一个正在与 Web 应用程序服务器进行通信 我正在制作一个 GUI 应用程序 提示用户在正确的时
  • 当我尝试构建 Qt 4.7.1 静态库时,“找不到 -ljscore”

    我尝试从最新的源构建静态 Qt 库 但出现以下错误 usr bin ld cannot find ljscore collect2 ld returned 1 exit status 如何解决这个问题呢 这是 Qt 构建系统中自 4 7 0
  • 如何创建QWidget的屏幕截图?

    我在 Qt Creator 中做作业 在其中绘制 QWidget 并且需要保存此 QWdiget 的某些部分 我试图解决这个问题 QPixmap pixmap pixmap copy rectangle rectangle is part
  • QTcpSocket 有时不发送数据

    我有两个 QT 应用程序 一个应用程序可以被认为保存了大数据 它每秒向第二个应用程序发送大约 10 KB 的数据块 之前我尝试使用QUdpSocket来传输数据 但由于MTU限制在2 5K左右 并且需要自己分割和重新组合数据 所以我改用QT
  • 如何在模型更改时停止ListView“跳跃”

    我需要做什么 我需要创建一个聊天窗口用一个ListView在 QML 中存储聊天消息 我设置listView positionViewAtEnd 以便跟踪最后的消息 我禁用positionViewAtEnd当我向上滚动时 我可以阅读过去的消
  • 如何使用 Qtimer 添加 1 秒延迟

    我目前有一个方法如下 void SomeMethod int a Delay for one sec timer gt start 1000 After one sec SomeOtherFunction a 这个方法实际上是一个附加到信号
  • 在 Qt5 中,是否需要 Q_INVOKABLE 来从 QML 调用公共 QObject 函数?

    我刚刚意识到我可以调用暴露于 QML 的对象的几乎任何函数 现在我对 Q INVOKABLE 很好奇 Qt5docs http doc qt io qt 5 qtqml cppintegration exposecppattributes
  • 向 Qt 样式表添加特异性时丢失样式

    这是我的代码 const QString STYLE SHEET background color rgba x x x y border 1px solid gray border radius 0px border top 1px so
  • Qt:测量事件处理时间

    我想测量我的应用程序中的哪些事件在主线程中需要很长时间才能执行 阻塞 GUI 或者至少是否有任何事件花费的时间超过 比如说 10 毫秒 显然 我对需要很长时间的任务使用线程和并发 但有时很难在其他线程中放入的内容和可以保留在 GUI 中的内
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr

随机推荐

  • 使用 Mockito 模拟具有泛型参数的类

    是否有一种干净的方法来模拟带有泛型参数的类 假设我必须模拟一堂课Foo
  • 如何在 TypeScript 中删除数组项?

    我有一个在 TypeScript 中创建的数组 它有一个用作键的属性 如果我有该密钥 我如何从中删除项目 与 JavaScript 中的方式相同 delete myArray key 请注意 这将元素设置为undefined 更好地使用Ar
  • 如何正确使用drawMyLocation

    我试图用 android 中的默认蓝点向用户显示当前位置 在我的地图页面中 我还有一个显示不同兴趣点的布局 我无法弄清楚要为某些变量添加什么 并且想知道是否有人可以帮助我 这就是我到目前为止用来显示我的位置的方法 Location loca
  • 从完成处理程序返回值 - Swift

    我在实用程序类中使用 loadImage 方法 并且在通过闭包返回图像时遇到一些问题 基本上因为我的代码可能返回图像或错误 所以在调用方法时将其分配给图像属性将不起作用 我在类的方法声明中使用的方法是否错误 或者我应该以不同的方式调用该方法
  • 我的 ffmpeg 输出总是在最后添加额外的 30 秒静音

    这是我用来将 1 个音频和 1 个图像合并为 1 个视频的代码 参数 由于某种原因 无论来源如何 它都会在输出视频的末尾添加 30 秒的静音 我在 Win10 x64 上运行它 安装了最新的 ffmpeg 我检查了代码 但无法确定它在哪里造
  • 自动在句点和逗号后添加空格,同时避免数字

    这是当前的正则表达式 当人们写下以下内容时 我用它来清理句子 你好 我是安德烈斯 对吗 它将自动转换为 你好 我是安德烈斯 对吧 当字符串中有数字时就会出现问题 例子 我有 40 381 32 美元 将转换为 我有 40 381 32 美元
  • 无法找到资源

    我不确切知道这是否是一个错误 但我一直收到运行时 IOException 错误 指出无法找到资源 我正在画布背景中的应用程序 c WPF 中加载一些图像 具体取决于数据库状态 问题是 我无法加载最后一个 按字母顺序排序 文件 例如 我的文件
  • iOS - 缩放和裁剪 CMSampleBufferRef/CVImageBufferRef

    我正在使用 AVFoundation 并从中获取示例缓冲区AVCaptureVideoDataOutput 我可以使用以下方法将其直接写入 videoWriter void writeBufferFrame CMSampleBufferRe
  • Java:获取打印机状态(缺纸/缺纸)

    我是这样打印的 FileWriter imp new FileWriter COM2 while linea br readLine null imp write linea imp write 0x0A 现在我使用端口 COM2 我有一台
  • Unidata 数据库导出 - 如何使用 TO DELIM 添加标题

    在 Unidata 中 将查询转储到分隔文件时 例如 列出 MYFILE 1000 ATB1 ATB2 ATB3 至 DELIM tmp extract txt 是否有任何 UDT OPTIONS 控制是否写入标题行 当前唯一的解决方法涉及
  • 从子线程停止主线程

    我正在编写一个python程序 在主函数中我正在启动一个连续运行的线程 启动线程后 主函数进入 while 循环 连续获取用户输入 如果子线程中出现异常 我也想结束主函数 最好的方法是什么 提前致谢 让线程 控制 其父级并不是一个好的做法
  • 排除日期晚于今天的项目

    我有一个关于 XSLT 的问题 在一个网站上 我有一个简单的日历 显示未来将要发生的事件 但当一个事件完成后 它应该从我的列表中删除 我所说的 完成 是指活动的日期已经过了今天 每个事件都附有日期 看下面的代码
  • 故意依赖 Linq Side Effects 是不好的做法吗?

    像这样的编程模式经常出现 int staleCount 0 fileUpdatesGridView DataSource MultiMerger TargetIds Select id gt FileDatabaseMerger merge
  • 使用 listpreference 并获取密钥有效,但没有“确定”按钮

    我在我的 android 应用程序中使用 listpreference 并获取我的键值 一切都很好并且工作正常 现在你们已经帮助了我 但是 当我的 listpreference 菜单弹出时 它们只包含一个取消按钮 假设用户正在红色 蓝色和绿
  • 在文本文件中附加新行的最佳变体是什么?

    我使用此代码将新行附加到文件末尾 let text New line to string let mut option OpenOptions new option read true option write true option cr
  • JTable 单元格中有两行或多行?

    如何将两行或多行放入一个 JTable 单元格中 我尝试在行尾添加 n 但它不起作用 尝试这样的 HTML lineOne br lineTwo
  • 关于 OpenGL 不变限定符的困惑

    我在翻阅橙皮书 第 3 版 时 在第 9 章中发现了一段关于不变限定符的段落 它说 The 不变的限定符指示编译器并链接到忽略与输出计算不直接相关的表达式和函数 这段话出现在两个类似的代码片段之后 uniform mat4 MVPmatri
  • 如何每 x 秒调用一个函数并更新状态(React)

    我在这方面遇到了很多麻烦 我尝试了各种方法 我想在单击开始按钮后每秒调用一个函数 然后在单击停止按钮后暂停它 我不断出现我无法解释的奇怪行为 我怎样才能在没有课程的情况下做出反应 我有 triid 的东西 const simulation
  • 是否可以使用 System.IO.Packaging.Package 压缩文件夹并稍后向其中添加文件/文件夹?

    我想知道我们是否可以使用 net 类 ZipPackage http msdn microsoft com en us library system io packaging zippackage aspx将文件夹压缩到file zip文件
  • QTableView - 限制所选项目的数量?

    问题就在标题里 没有函数 QTableView set Max Number SelectedItems int 当所选项目的数量为 2 时 我想禁用项目选择 Thanks 您可以通过以下方式禁用选择 connect ui gt table