QTableWidget学习
一、这次项目需要用到,可以在tablewidget中添加item,并且可以通过鼠标的右键选项进行一些打开、删除等操作。
1、在构造函数中定制右键菜单选项
ui.tableWidget_2->setSelectionBehavior(QAbstractItemView::SelectRows); //设置选择行为,以行为单位
ui.tableWidget_2->setSelectionMode(QAbstractItemView::SingleSelection); //设置选择模式,选择单行
openAction = new QAction("打开文件",this);
deleteAction = new QAction("删除文件", this);
closeAction = new QAction("退出菜单",this);
openAction->setShortcut(QKeySequence::Open);//设置打开快捷键
deleteAction->setShortcut(QKeySequence::Delete);
closeAction->setShortcut(QKeySequence::Quit);
ui.tableWidget_2->setContextMenuPolicy(Qt::CustomContextMenu);//设置上下文显示菜单的方式,Qt::CustomContextMenu是唯一与右键菜单相关的参数。
pMenu = new QMenu(ui.tableWidget_2);
pMenu->addAction(openAction);
pMenu->addAction(deleteAction);
pMenu->addAction(closeAction); connect(openAction, SIGNAL(triggered(void)), this, SLOT(openActionSlot(void)));
connect(deleteAction, SIGNAL(triggered(void)), this, SLOT(deleteActionSlot(void)));
connect(closeAction, SIGNAL(triggered(void)), this, SLOT(closeActionSlot(void)));
/*This signal is emitted when the widget's contextMenuPolicy is Qt::CustomContextMenu, and the user has requested a context menu on the widget*/
connect(ui.tableWidget_2, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequestedSlot(QPoint))); //customContextMenuRequested(QPoint)信号是鼠标右击的时候产生的(注意,contextMenuPolicy必须是Qt::CustomContextMenu, 并且用户已经请求了一个上下文菜单 /*如下是一些槽函数的定义*/
void MyFtp::customContextMenuRequestedSlot(QPoint point)
{
pMenu->exec(QCursor::pos()); //运行并且显示右键菜单栏
}
void MyFtp::openActionSlot(void)
{
int row = ui.tableWidget_2->currentRow();
if (row!=-)
chosedFilePath = ui.tableWidget_2->item(row,)->text();
QProcess process;
//process.startDetached(QString("explorer.exe /select,"+chosedFilePath));//注意,在切换盘符的时候将无法获取正确结果
#ifdef WIN32
chosedFilePath.replace("/", "\\"); //***这句windows下必要***
#endif
process.startDetached("explorer /select," + chosedFilePath); //打开指定目录,并选定指定文件
}
2、为tablewidget添加项目
ui.tableWidget_2->setItem(j*fileNameList.size() + i,,new QTableWidgetItem(QString::number(chosedCarNum[j])));
在添加项目前如果需要清空之前添加的项目则加如下代码:
int rowCount = ui.tableWidget_2->rowCount();
for (int i = rowCount - ; i >= ; i--)
ui.tableWidget_2->removeRow(i);
QTableWidget学习的更多相关文章
- Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget
Qt 学习之路 2(42):QListWidget.QTreeWidget 和 QTableWidget 豆子 2013年2月5日 Qt 学习之路 2 38条评论 上一章我们了解了 model/vie ...
- 第15.28节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTableWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大 ...
- PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件的表头包括水平表头和竖直表头,水平表头每节对应表格的一列,竖直表头对 ...
- PyQt学习随笔:QTableWidget的selectedRanges、setRangeSelected访问选中矩形范围的方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget对项的操作支持选中多个项的情况下,可以通过方法selectedRanges ...
- PyQt(Python+Qt)学习随笔:QTableWidget的findItems和selectedItems搜索项和访问选中项方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.搜索项 在表格部件中,可以根据文本以及匹配模式来搜索满足条件的项,调用语法: list[QTab ...
- PyQt(Python+Qt)学习随笔:QTableWidget项编辑方法editItem、openPersistentEditor
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.触发编辑项的editItem方法 QTableWidget提供了触发项编辑的方法,调用语法如下: ...
- PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的 ...
- PyQt(Python+Qt)学习随笔:QTableWidget中表格各列平均分配宽度的两种方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget表格部件中,如果需要实现表格中各列要占满部件中的可用空间,同时实现各列平分 ...
- PyQt学习随笔:QTableWidget项sizeHint的作用以及与QHeadView的sectionResizeMode、ResizeToContents的关系
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在学习QTableWidgetItem的sizeHint()方法时,Qt自带材料中介绍sizeHin ...
随机推荐
- APIO2019
device: 用最小公倍数的知识或是画网格模拟转移,神仙们也可以找规律.然后就变成区间覆盖了. 忘记特殊情况了,大众分→Ag #include<iostream> #include< ...
- WebBug靶场基础篇 — 02
本篇以第一人称记录这个关卡的第 1-5 关. 由于我记录的过程有点偏向于思考,所以截图截的多 = =!所以文章有点长... 下午一觉醒来,已经 4 点多了,然后开电脑,在虚拟机里,铺了铺靶场,但是毕竟 ...
- access注入篇+sqlmap
access数据库的来历,我就不说了,因为我懒的记,就算记了感觉上也没大多用处,只要记得数据库的结构就行了.先是表名,然后是列名,再者就是数据,我发个实际的图吧,大概就是这么一个结构. 下面,开始说下 ...
- 测试常用——linux 基础命令
测试常用 的 linux 基础命令 1,查看服务器日志vi 查看文件(查找关键字:exception/exception : 从上往下找,按n查找下一个关键字,按shift+n查找上一个关键字?e ...
- git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题
文章目录 git配置文件简介 git config各种命令 配置级别: 用户信息 文本编辑器 差异分析工具 配置命令别名 公钥 git协同流程 简单流程 初始化版本库 提交至缓存区 查看状态 提交分支 ...
- 剑指offer——72圆圈中最后剩下的数字
题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...
- 2019秋第一次Java学习总结
本周Java学习总结: 知识点总结: 1.Java中程序的执行步骤 使用Javac将一个.Java源文件编译成.class文件 使用Java可以执行一个*.class文件 2.&&与& ...
- Hbase时间同步
如果Hbase的时间没有同步,启动主节点会起来,子节点的regionServer就不会起来. 错误日志如下: aused by: org.apache.hadoop.hbase.ipc.RemoteW ...
- Python爬虫工程师必学APP数据抓取实战✍✍✍
Python爬虫工程师必学APP数据抓取实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...
- 【牛客提高训练营2B】分糖果
题目 发现自己一年之前非常垃圾 题目大意是给你一个\(n\)个点的环,给每个点一个\([1,a_i]\)的取值,并且满足环上任意相连两点权值不能相等,求方案数 考虑断环为链,发现不大会 不妨考虑所有\ ...