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)

相关推荐

  • CSS同级元素浮动怎么实现

    技术CSS同级元素浮动怎么实现本篇内容主要讲解“CSS同级元素浮动怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS同级元素浮动怎么实现”吧!1.同级浮动(1)使块

    攻略 2021年12月10日
  • cufes2,CUFES2的化合价怎么判断

    技术cufes2,CUFES2的化合价怎么判断二硫化亚铁铜:S是负2价cufes2,Fe既然叫亚铁,那就是正2价,Cu也只能是正2价了。另外根据常识如果铁是正3价,强氧化性,那么跟负2价的S不能共存。
    如果是配平的话,用

    生活 2021年10月24日
  • 很感人的电影,什么电影好看,看着感人

    技术很感人的电影,什么电影好看,看着感人《七号房的礼物》这部电影,真的让人从头哭到尾很感人的电影。里面有很多温馨的片段,有可爱逗比的狱友,有傻乎乎的龙九,有超级可爱的艺胜,可是在观影过程中,你每次笑完之后,都会立刻心塞,

    生活 2021年10月29日
  • 多姿多彩是什么意思,我们的生活多姿多彩是什么意思

    技术多姿多彩是什么意思,我们的生活多姿多彩是什么意思我一直在问,怎么才能使自己变的更加有趣,反复求索,综合各方的意见,总结出了让自己更加有趣的秘方-过多姿多彩的生活多姿多彩是什么意思。首先心态,健康,乐观的积极心态是使自

    生活 2021年10月28日
  • 大圈是什么意思,太阳周围有个大圈是什么意思

    技术大圈是什么意思,太阳周围有个大圈是什么意思日晕是一种大气光学现象,是日光通过卷层云时,受到冰晶的折射或反射而形成的大圈是什么意思。当光线射入卷层云中的冰晶后,经过两次折射,分散成不同方向的各色光。有卷层云时,天空中会

    生活 2021年10月21日
  • 11月17

    技术11月17 11月17一、RowDeleting当单击某一行的 "删除" 按钮时,但在控件删除该行之前,将引发该事件GridView。这使你可以提供一种事件处理方法,该方法可在每次发生此事件时执行自

    礼包 2021年11月18日