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)

相关推荐

  • Gatling的相关知识点有哪些

    技术Gatling的相关知识点有哪些这篇文章主要介绍“Gatling的相关知识点有哪些”,在日常操作中,相信很多人在Gatling的相关知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年11月12日
  • MySQL表类型中如何查看数据库支出的存储引擎

    技术MySQL表类型中如何查看数据库支出的存储引擎这期内容当中小编将会给大家带来有关MySQL表类型中如何查看数据库支出的存储引擎,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、查看

    攻略 2021年11月9日
  • excel中Alt键的使用技巧有哪些

    技术excel中Alt键的使用技巧有哪些这篇文章将为大家详细讲解有关excel中Alt键的使用技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  1.Alt+Enter 强制换

    攻略 2021年10月29日
  • 有哪些写Python程序的建议

    技术有哪些写Python程序的建议这篇文章主要介绍“有哪些写Python程序的建议”,在日常操作中,相信很多人在有哪些写Python程序的建议问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年11月2日
  • c++ 文本处理

    技术c++ 文本处理 c++ 文本处理c++ 文本处理
    1、使用sstream版本
    (1)功能:截取第一列为1以后的数据,如下图,截取第5行(包括第5行)以后的数据,前面4行数据丢弃。(2)代码:tex

    礼包 2021年12月3日
  • 网关防XSS过滤器的设计是什么

    技术网关防XSS过滤器的设计是什么本篇文章为大家展示了网关防XSS过滤器的设计是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 如何防止XSS攻击?XSS的防御基本上,不

    攻略 2021年10月20日