博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt 多级menu
阅读量:6228 次
发布时间:2019-06-21

本文共 1523 字,大约阅读时间需要 5 分钟。

hot3.png

29224306_5bAl.jpg

实现如上的一个多级menu, Qt 中实现非常简单。 首先明确一个概念, QMenu表示“容器”, QAction表示具体的项。 所有上图中”其他”,“发票”等都要是QMenu, 而代充类型、有发票都要是QAction, 所以代码实现就非常简单了。
1. 构造
1 pMenu_  =   new  QMenu(tbaTableView_); 
2 pBatchEditMenu_  =   new  QMenu(pMenu_);  
3 pBatchEditOtherMenu_  =   new  QMenu(pBatchEditMenu_);
 4 batchOtherBillMenu_  =   new  QMenu(pBatchEditMenu_);  
5 batchOtherWarrantyMenu_  =   new  QMenu(pBatchEditMenu_);  
6 batchOtherAutoSendMenu_  =   new  QMenu(pBatchEditMenu_);  
7 batchOtherRecommendMenu_  =   new  QMenu(pBatchEditMenu_);
8 batchOtherDiscountMenu_  =   new  QMenu(pBatchEditMenu_);
2.析构
1  delete batchOtherBillMenu_;  
2  delete batchOtherWarrantyMenu_;  
3  delete batchOtherAutoSendMenu_;  
4  delete batchOtherRecommendMenu_;  
5  delete batchOtherDiscountMenu_;  
6  delete pBatchEditOtherMenu_;  
7  delete pBatchEditMenu_;  
8  delete addItemsTimer_;  
9  delete pMenu_;
注意顺序。
3. 代码实现
1  pBatchEditOtherMenu_ -> setTitle(tr( " 其他(Q) " ));  
2  batchOtherBillMenu_ -> setTitle(tr( " 发票 " ));  
3  batchOtherBillMenu_ -> addAction(tr( " 有发票 " ), this ,SLOT(haveBillBatchEdit()));  
4  batchOtherBillMenu_ -> addAction(tr( " 无发票 " ), this ,SLOT(noBatchEdit()));  
5  batchOtherRecommendMenu_ -> setTitle(tr( " 橱窗推荐 " ));  
6  batchOtherDiscountMenu_ -> setTitle(tr( " 会员打折 " ));  
7  pBatchEditMenu_ -> addMenu(pBatchEditOtherMenu_);  
8  pBatchEditOtherMenu_ -> addMenu(batchOtherBillMenu_);
4. 快捷键以及分割线
1 QAction *  openDetailPage  =  pMenu_ -> addAction(tr( " 打开宝贝页面 " ));  
2  openDetailPage -> setShortcut(QKeySequence(tr( " Ctrl+B " )));  
3  pMenu_ -> addSeparator();

转载于:https://my.oschina.net/laopiao/blog/92932

你可能感兴趣的文章
Node.js制作爬取简书内容的爬虫
查看>>
编辑器之神-vim
查看>>
highcharts 柱形堆叠图
查看>>
在vue2.x中安装sass并配置
查看>>
密钥分散算法
查看>>
Django ORM字段和字段参数
查看>>
HDU-6170 Two strings
查看>>
URL和URI
查看>>
3.12DAYUP
查看>>
算法10-----分糖果
查看>>
zoj 1009
查看>>
STL之迭代器
查看>>
kubernetes删除pod失败
查看>>
防盗链之URL参数签名 总结
查看>>
中间件和上下文处理器、djangoAdmin
查看>>
grunt入门讲解1:grunt的基本概念和使用
查看>>
网页内连续英文或符号时 强制折行与不折行的解决方案
查看>>
sql server 笔记1--case、WAITFOR、TRY CATCH
查看>>
Samsung_tiny4412(驱动笔记06)----list_head,proc file system,GPIO,ioremap
查看>>
Java课堂 动手动脑5
查看>>