在 QTableWidget 中选择行和列,同时保持突出显示

2023-12-08

我设置了一个 QTableWidget,您无法选择单元格,但可以通过标题选择行/列。我遇到的问题是,当我选择一行时,它会取消选择已选择的任何列,列/行也是如此。我希望能够选择具有 ExtendedSelection 行为的行和具有 SingleSelection 行为的列,但彼此独立。这就是我正在做的:

ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
connect(ui->tableWidget->horizontalHeader(),SIGNAL(sectionClicked(int)), this,SLOT(horizontalHeaderClicked(int)));
connect(ui->tableWidget->verticalHeader(),SIGNAL(sectionClicked(int)), this,SLOT(verticalHeaderClicked(int)));

Then:

void MatrixWidget::horizontalHeaderClicked(int column){
   if(column <= 0) return; //first column is names, doesn't represent a segment

   ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
   ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectColumns);
   ui->tableWidget->selectColumn(column);
   ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);

}

void MatrixWidget::verticalHeaderClicked(int row){
   ui->tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
   ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
   ui->tableWidget->selectRow(row);
   ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);

}


此代码允许您先选择列,然后必须按 Ctrl 键才能选择其他行。试试这个,我希望它能有所帮助。无论如何,这个解决方案对于班次来说效果不佳。

void SO_Qt::hhSelected( int index )
{
    if(index <= 0) return;
    ui.tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
    ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectColumns);
    ui.tableWidget->selectColumn(index);
    ui.tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
}

void SO_Qt::vhSelected( int index )
{
    ui.tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
    ui.tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);
    ui.tableWidget->selectRow(index);
    ui.tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
}

enter image description here

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

在 QTableWidget 中选择行和列,同时保持突出显示 的相关文章

  • Qml 和模糊图像

    我想使用 QML 实现模糊效果 我找到了有关 效果 模糊 的参考资料 例子 http qt gitorious org lscunha qt components lscunha qt components blobs d78feec567
  • 仅在内部/外部抚摸路径?

    Given a QPainterPath http qt project org doc qt 4 8 qpainterpath html如何仅在路径的内侧或外侧边缘 或非闭合路径的左侧或右侧 描边路径 QPainter strokePat
  • 有没有办法向 QListView 添加部分?

    我正在使用 Qt5 2 和 C 来实现一个应用程序 需要显示一个列表 其中包含类似于下面的示例图像的部分 source ngo hung com http www ngo hung com files images contact list
  • 在 QtCreator 中使用 .pro 和 .pri 正确(树)显示 Qt 项目

    是否可以使用项目包含文件 pri 显示不止一个额外级别 例如如果 pro文件包括 pri文件包含两个 pri files pro pri pri pri 在 QtCreator 项目 中显示具有误导性 pro pri pri pri 它根本
  • 有没有办法用 Tkinter 创建透明窗口?

    最终 我尝试使用 Tkinter 模块用 Python 创建 奇怪形状的窗口 但现在我会满足于能够使背景透明 同时保持子部件完全可见 我知道这是使用 wxPython 和其他一些模块完成的 但我想了解 Tkinter 的限制 Tkinter
  • 获取 QListView 中所有可见项目的简单方法

    我正在尝试使用 Qt Framework 开发一个图像库应用程序 应用程序从所选文件夹加载所有图像 并使用 QListView 控件显示这些图像 但现在我想通过仅加载用户可见的图像来减少内存消耗 由于没有直接函数来获取视图中的所有可见项目
  • SGC GUI 和 Pygame Widget 实现

    您好 我正在尝试使用 Pygame 编写一个简单的应用程序 我进行了各种搜索 发现获取用户输入的最佳方法是使用第 3 方 GUI 我为此目的找到了简单的游戏代码 下面 您可以找到我的基本代码 它在脚本的同一路径中查找图像并在屏幕上按顺序替换
  • Retina 显示屏中具有 QOpenGLWIdget 的 Qt MainWindow 显示错误大小

    我有一个 Qt 应用程序MainWindow 我嵌入一个QOpenGLWidget在里面 一切正常 直到我开始使用 Apple Retina 显示屏并在高 DPI 模式下运行我的应用程序 我的QOpenGLWidget只是它应该具有的大小的
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • PyQt4 QPalette 不工作

    btn QtGui QPushButton Button self palettes btn palette palettes setColor btn backgroundRole QtCore Qt green btn setPalet
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • Qt中Q_PROPERTY的意义是什么?

    我无法理解 Q PROPERTY 的用法 Q PROPERTY 如何帮助程序具有防御性 它是干什么用的 我看过这个论坛 但确实无法应用 我已经理解了这个例子 但不明白它的用法 这是一个例子 我能从中得到什么 我知道阅读将赋予只读特权 wri
  • 如何隐藏其他选项卡的内容并仅显示所选选项卡的内容

    当我单击特定选项卡时 其他选项卡的内容应该隐藏 但它并没有隐藏 这是我所有的代码 function showStuff id if document getElementById id style display block documen
  • Java Swing 应用程序消息对话框帮助

    我正在开发 Java Swing 应用程序 我需要创建一个如图所示的对话框 我不知道这个的名字 我无法解释 所以我附上一张照片 请告诉我这叫什么以及如何在我的 GUI 应用程序中创建它 给猫剥皮的方法不止一种 public final cl
  • UIPickerView - 对多行行使用自定义视图 - 需要布局建议

    我有一个 UIPickerView 它将为用户显示项目列表 我希望每个项目都显示为多行文本 每行使用不同的字体大小 一个粗略的模型如下所示 这将允许显示比默认 UIPickerView 的单行所能容纳的更多文本 bdesham 指出我在 U
  • Qt QML 数据模型似乎不适用于 C++

    我一直在使用中的示例http doc qt digia com 4 7 qdeclarativemodels html http doc qt digia com 4 7 qdeclarativemodels html这是 QML 声明性数
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • 向 Thunderbird 添加多个附件(从命令行)

    我尝试通过命令行创建带有多个附件的新消息 但这不起作用 thunderbird compose attachment etc mtab attachment etc fstab 仅附加第一个文件 第二个失踪了 上面的命令行有什么问题 PS

随机推荐

  • Unity 交叉口蒙版

    有没有办法检测具有一定数量顶点的物体是否撞击平面 如果是这样 我想将其以二进制 黑 白 绘制到平面上或用它创建纹理 而且我也不关心这是否只能通过光线投射或一些棘手的物理操作 着色器 等来创建 我只是想知道什么数学算法可以创建这个 Here
  • “Ionic start projectName”不适用于 Ionic Framework

    我在用Ubuntu 14 04 我遵循了一些关于如何在 Ubuntu 14 04 上安装 Ionic Framework 的教程 包括官方指南 基本上只是执行以下操作 sudo npm install g ionic sudo npm in
  • 如何将自定义文件浏览器/上传器与 CKEditor 集成?

    官方文档不太清楚 将自定义文件浏览器 上传器与 CKEditor 集成的正确方法是什么 v3 不是 FCKEditor 首先在实例化 CKEditor 时注册您的自定义浏览器 上传器 您可以为图像浏览器和一般文件浏览器指定不同的 URL
  • Gnuplot pm3d 未绘制所有数据

    我有一个如下所示的文本文件 0 0 1 0 1 1 1 0 1 1 1 1 我正在策划这个with pm3d调色板中的颜色数量设置为两种 我期待的是四个正方形 两个白色和两个黑色 位于相对的角落 然而 当我绘制这个图时 我只得到一个 1 x
  • 如何在groovy中修改JSON

    我使用 JsonBuilder 构建 JSONObject String 但是 如何更新 更改此 JSONObject String 中的一个字段的值 我没有看到使用 JsonBuilder 执行此操作的可能性 那我用什么节目呢 If yo
  • 我无法从 Android 应用程序调用 servlet

    这是我的安卓应用程序 package org me sampleandroidservlet import android app Activity import android os Bundle import android widge
  • Android 中使用千位分隔符 (,) 格式化的“EditText 和 TextView”

    当我在 editText 中输入时 我想要在 EditText 中使用千位分隔符 之后 我将对数字进行一些操作 然后通过千位分隔符 在 TextView 中显示结果 这是我的代码 public class Mainactivity exte
  • 手动激活选项卡 jquery ui 1.10.3

    我真的很生气 我搜索了jquery uidoc和 stackoverflow 的问题 很多问题 但我不知道如何手动激活选项卡 tabs 在 jquery 1 10 中 我创立并尝试了这个解决方案 mytabs tabs option act
  • 保存 Kivy 应用程序的登录屏幕用户名和密码

    我正在开发适用于 iOS 和 Android 的 Kivy 应用程序 并且需要帮助来保持用户持续登录 即使在应用程序关闭或终止后也是如此 我正在使用 Parse 来存储用户凭据 我已经向 App 类添加了一个 on pause 方法 但这仅
  • Couchbase 连接 - 外部 IP 而不是内部 IP

    在同一个数据中心 我有一个应用程序服务器 客户端 连接到包含 3 个节点的 couchbase 集群 我希望客户端通过内部 IP 而不是外部 IP 进行连接 以优化性能 假设这些是我的 IP 节点1内部IP 节点1外部IP 节点2内部IP
  • CLGeocoder 从给定位置反向地理编码

    给定经度和纬度不是我当前的位置如何使用执行反向地理编码查找GLGeocoder self geoCoder CLGeocoder alloc init self locationManager CLLocationManager alloc
  • JSF 2:直接调用托管 bean

    我是 JSF 新手 2 在 Struts 中 我们可以从 URL 调用一个操作 例如app action 这会调用一个操作并返回一个结果页面 例如 JSP 最初没有 JSP HTML 如何在 JSF 中完成同样的事情 我知道如何从 xhtm
  • FOSRestBundle 和 JMSSerializer 自定义表单错误处理程序

    我已经为 JMSSerializerBundle 编写了一个自定义表单处理程序 我将其与 FOSRestBundle 一起使用 根据文档它应该像正确标记服务一样简单 但我的自定义处理程序永远不会被使用 这是处理程序
  • 当子报告溢出到新页面时,我想要“继续...”文本

    我认为 这应该是一个功能 当子报表详细信息带溢出到下一页时 应该出现 继续 或其他内容 但我无法解决该问题 我试图找出答案 如果有任何解决方案 但没有任何作用 任何人都可以有更好的想法 如何获得解决方案 正常 的做法是 In 子报告将文本放
  • 转发到su目录时如何从url中删除子目录?

    在共享服务器上 我被迫从 cpanel 管理域的文档根 这是有问题的并且消耗大量时间 所以我将所有域重定向到一个目录root 一个例子 sd1 domain com gt public html web sd2 domain com gt
  • 钩子相当于 componentWilLReceiveProps 来更新状态

    所以我有一个组件 可以有条件地更新道具更改的状态 如果当前状态的 CurrentPage 不等于下一个 props CurrentPage 我用下一个 props 的 CurrentPage 更新状态 public componentWil
  • 如何在 HTML 页面中使用 Google 字体

    我见过人们在他们的网站中使用谷歌字体 如何在我的网站中使用 Google 字体 我使用的是普通字体 例如 Arial 和 Verdana 但我也想使用 Source Sans Pro 和 Ubuntu 字体 我该怎么办 访问 Google
  • WCF 服务名称和绑定名称

    Scenario 我有两个 WCF 服务组合在一个 App Config 文件中 我无法运行该程序 应用程序可以编译 但在服务初始化时失败 Question 我想知道是否需要将服务名称设置为与也定义为整体服务一部分的其他名称相同 ERROR
  • C#/.NET 的 MQ 统计监控

    我们与之交易 MQ 数据的供应商之一有一个监视器 显示以下内容 我自己编写了一个 C 监视器 每 x 分钟拍摄一次队列深度的快照 但我想知道如何获取排队和出队的消息数 在我看来 这两个统计数据具有不同的性质 对我来说 队列深度是在给定的时间
  • 在 QTableWidget 中选择行和列,同时保持突出显示

    我设置了一个 QTableWidget 您无法选择单元格 但可以通过标题选择行 列 我遇到的问题是 当我选择一行时 它会取消选择已选择的任何列 列 行也是如此 我希望能够选择具有 ExtendedSelection 行为的行和具有 Sing