QTableWidget添加表头菜单 并 可以通过表头菜单隐藏选中列

技术QTableWidget添加表头菜单 并 可以通过表头菜单隐藏选中列 QTableWidget添加表头菜单 并 可以通过表头菜单隐藏选中列一、首先需要给QTableWidget安装事件
二、重新实现

QTableWidget添加表头菜单并可以通过表头菜单隐藏选中列

一、首先需要给QTableWidget安装事件

二、重新实现事件过滤器(QObject *obj,QEvent *ev)函数

三、下面是实现代码。h

#ifndef TABLEHEADERMENU_H

#定义TABLEHEADERMENU_H

#包含QtWidgets/QMainWindow

#包含' ui_tableheadermenu.h '

#包含QStringList

#包含QMenu

#包含量化事件

TableHeaderMenu :类公共QMainWindow

{

Q_OBJECT

公众号:

TableHeaderMenu(QWidget * parent=0);

~ TableHeaderMenu();

//设置表头菜单

void setHeaderMenu();

公共槽3360

//表头菜单响应槽函数

void slot visibleitems changed(bool已选中);

受保护:

//重写事件

bool eventFilter(QObject *obj,QEvent * ev);

私人:

ui : tableheadermenuclass ui;

//水平表头

QStringList horHeaderStr

//表头菜单

QMenu * m _ headerMenu

};

# endif///TABLEHEADERMENU _ H

卡片打印处理机(卡片打印处理器的缩写)

#包括" tableheadermenu.h "

#包含QContextMenuEvent

tableheadermenu :3360 tableheadermenu(QWidget *父级)

: QMainWindow(父)

{

ui。setupui(这个);

//设置列数

ui。TableWidget-SetColumnCount(5);

//表头

来自本地8位('的horheaderstrqstring :姓名)

QString:fromLocal8Bit('年龄)

QString:fromLocal8Bit('性别)

QString:fromLocal8Bit('兴趣)

QString:fromLocal8Bit('特长');

//设置表头

ui。table widget-sethorizontalheaderllables(Horheaderstr);

//安装水平表头事件

ui。table widget-horizontalHeader()-installEventFilter(this);

setHeaderMenu();

}

TableHeaderMenu : ~ TableHeaderMenu()

{

}

/*

实现表头菜单

*/

void tableheadermenu :3360 theadermunu()

{

m _ headerMenu=new QMenu(this);

qaaction * action name=新的qaaction(来自本地8位的qstring :('姓名),这个);

qaaction * action age=新的qaaction(来自本地8位的qstring :('年龄),这个);

QAction * actionSex=新的来自本地8位('的qaaction(qstring :性别),这个);

qaaction * action interset=新的qaaction(来自本地8位的qstring :('兴趣),这个);

QAction * actionSpeciality=新的来自本地8位('的qaaction(qstring :特长),这个);

操作名-设置对象名(qstring :3360 number(0));//0隐藏第一列

操作名称-SetCheckable(true);

actionName-setChecked(真);

actionAge-设置对象名称(qstring : number(1));//1隐藏第二列

actionAge-setCheckable(true);

actionAge-setChecked(真);

actionSex-设置对象名称(qstring :3360 number(2));//2隐藏第三列

actionSex-setCheckable(真);

actionSex-setChecked(真);

actionintermate-set对象名(qstring : number(3));//3隐藏第四列

action intermate-setCheckable(true);

actionintermate-set checked(真);

action specialty-设置对象名称(qstring :3360 number(4));//4隐藏第五列

action speciality-setCheckable(true);

actionspecialty-set已选中(真);

//连接菜单响应槽函数

connect(actionName,QAction:toggled,this,tableheadermenu :3360 lotusvisibleitems已更改);

connect(actionAge,QAction:toggled,this,tableheadermenu :3360 lotusvisibleitems已更改);

connect(actionSex,QAction:toggled,this,tableheadermenu :3360 lotsvisibleitems已更改);

connect(actioninter it,QAction:toggled,this,tableheadermenu :3360 lotusvisibleitems已更改);

connect(actionspecialty,QAction:toggled,this,tableheadermenu :3360 lotusvisibleitems已更改);

//添加菜单

m _ headerMenu-addAction(动作名称);

m _ headerMenu-addAction(actionAge);

m _ headerMenu-addAction(actionSex);

m _ headerMenu-addAction(action inter it);

m _ headerMenu-addAction(action specialty);

}

/*

表头菜单响应函数

*/

请参阅表格标题菜单3: slot visibility(bool选中)

{

qobject * obj=dynamic _ castqobject *(sender());

int n=obj物件名称()。屋顶();

ui。表小部件-设置列idden(n,已检查:

}

/*

范仲淹先生

*/

bool表格标题菜单3:事件过滤器(qoobject * obj,QEvent *ev)

{

if(obj==ui。表格小部件-水平标题()))

if(ev-type()==qevent 3:上下文菜单)>

qcontextmenuevent *菜单事件=static _ cast上下文菜单事件*(ev);

m_headerMenu跃现式选单(菜单事件-global pos());

返回真实的

}

其他

返回错误的

}

}

其他

返回事件过滤器(obj,ev);

}

}

手!手

#包括tableheadermenu.h

#包括qtwidgets/QA应用程序

int main(int argc、char *argv[])

{

qaapplication a(argc、argv);

表格标题菜单w;

w。show();

返回a . exec();

}

阿勃良

李佑(音译)页:1

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52106.html

(0)

相关推荐

  • 如何用DolphinDB分析淘宝用户的行为

    技术如何使用DolphinDB进行淘宝用户行为分析如何使用DolphinDB进行淘宝用户行为分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Dolphin

    攻略 2021年12月20日
  • 权限设置在哪里,设置应用管理怎么开权限

    技术权限设置在哪里,设置应用管理怎么开权限工具/原料:小米6手机权限设置在哪里、手机管家 小米6手机应用管理权限开启操作步骤如下: 1、在手机桌面找到【手机管家】,点击进入【手机管家】;
    2、在【手机管家】界面,

    生活 2021年10月20日
  • 亲核取代反应,单分子亲核取代反应的特点

    技术亲核取代反应,单分子亲核取代反应的特点单分子亲核取代反应(unimolecular nucleophilic substitution)是只有一种分子参与了决定反应速率关键步骤的亲核取代反应亲核取代反应,简写为SN1

    生活 2021年10月21日
  • 抖音播放量怎么刷,怎么能让抖音粉丝暴涨?

    技术抖音播放量怎么刷,怎么能让抖音粉丝暴涨?最近关于到抖音的问题,小编被大家问的最多的就是抖音刷播放量有效果吗?因为目前大家都有所耳闻,就是关于抖音上视频要是想火起来,被上到推荐上的话,那么就需要进行刷播放量,所以抖音刷

    测评 2021年10月20日
  • 5 个用命令行操作 LibreOffice 的技巧是什么

    技术5 个用命令行操作 LibreOffice 的技巧是什么这篇文章给大家介绍5 个用命令行操作 LibreOffice 的技巧是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。直接在命令行中对文

    攻略 2021年11月12日
  • 如何理解Python基础中的for循环语句

    技术如何理解Python基础中的for循环语句如何理解Python基础中的for循环语句,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python for循

    攻略 2021年10月25日