QT QPushbutton制作下拉列表
//创建button
QPushbutton * button = new QPushbutton;
//连接button点击信号,在点击的时候弹出menu
connect(button,SIGNAL(clicked(bool)),this,SLOT(onButtonClicked(bool)));
//onButtonClicked函数实现。(menu的追加也可以在函数外,在函数外需要追加为全局变量)
void onButtonClicked(bool tt) {//新建menuQMenu *menu = new QMenu(this);//新建actionQAction* act1 = new QAction("选择全局类型",this);QAction* act2 = new QAction("选择工程类型",this);QAction* act3 = new QAction("新建工程类型",this);QAction* act4 = new QAction("移除类型",this);//把action追加到menumenu->addAction(act1);menu->addAction(act1);menu->addAction(act1);menu->addAction(act1);//把menu加载到buttonbutton->setMenu(menu);//设置button文字button->setText("下拉列表");//打开menumenu->exec(QPoint(QCursor::pos().x(),QCursor::pos().y()));}
效果:
进阶:
1、如果点击列表的某项需要做事情,可以追加响应的信号连接来响应事件
connect(act1,SIGNAL(triggered()),this,SLOT(onAct1Clicked()));void onAct1Clicked() {//在这里做自己想要的事情。
}
2、如果不喜欢那个按钮右侧的下拉图标,可以设置取消显示:
button->setStyleSheet("QPushButton::menu-indicator{image:none}");
效果如图:
3、如果不想显示文字,只显示下拉图标(或者其他图标),可以设置如下:
内置图标参考:(20条消息) Qt的内置图标库_爱上876的博客-CSDN博客_qt图标库
//设置QT内置图标-(下拉图标)
button->setIcon(QApplication::style()->standardICon(QStyle::SP_TitleBarUnshadeButton);
//一般这样设置图标比较小,如果要放大可以如下设置
QIcon icon = QApplication::style()->standardICon(QStyle::SP_TitleBarUnshadeButton);
QPixmap map = icon.pixmap(QSize(20,20));
button->setIcon(QIcon(map.scaled(QSize(100,100))));//使用其他图片可以如下设置
button->setIcon(QIcon(QPixmap("./按钮/sound.png").scaled(QSize(100,100))));
使用QT自大内置图标效果图:
4、如果列表左边要放icon,就直接设置就可以,不要icon觉得左边太宽,可以如下设置
在上面的函数中追加如下
void onButtonClicked(bool tt) {//新建menuQMenu *menu = new QMenu(this);//追加QString menu_style = “QMenu::item{padding-left:2px};”;menu->setStyleSheet(menu_style);...
}
效果如下:(是不是顺眼多了)
喜欢就点个赞吧!
转载请注明出处 (20条消息) QT QPushbutton制作下拉列表_luo_bin2010的博客-CSDN博客https://blog.csdn.net/luo_bin2010/article/details/124167421
QT QPushbutton制作下拉列表相关推荐
- Qt Creator制作动画
Qt Creator制作动画 制作动画 创建时间表 将动画绑定到状态 管理关键帧 浏览时间轴 设置关键帧值 观看动画 编辑缓和曲线 将缓和曲线附加到关键帧 自定义缓和曲线 编辑动画曲线 旋转项目 制作 ...
- 使用Qt Designer制作软件的图形界面
介绍 Qt Designer是一款设计和构建图形用户界面的Qt工具,本文介绍如何使用Qt Manager制作软件的图形界面. 安装 使用Qt Manager时,首先在python的环境中安装pyqt, ...
- 使用Qt绘图制作一个钟表
使用Qt绘图制作一个钟表 实际效果如下: 一.钟表实现的大概思路 设置定时器,定时器每隔一秒调用repaint()函数,paintEvent()函数随即被调用,利用paintEvent()函数重绘钟表 ...
- 树莓派3B qt+mplayer制作音乐播放器(10)
内容 树莓派3B qt+mplayer制作音乐播放器:播放.暂停.上一曲.下一曲,音量调节. 平台:树莓派+qt+mplayer 1.配置 qt安装见此: https://blog.csdn.net/ ...
- linux qt make文件或目录,rpm,linux_为Qt程序制作rpm包的spec文件里的路径问题,rpm,linux,qt,rpmbuild,spec - phpStudy...
为Qt程序制作rpm包的spec文件里的路径问题 我对Qt和rpm都不怎么熟悉,所以在为Qt程序制作rpm包的时候被路径问题纠结到了. Qt的.pro文件的相关部分是这么写的,其中AppName是我的 ...
- qt中制作添加 .ts 翻译文件
qt中制作添加 .ts 翻译文件 QT 中可以用其自身的工具对界面语言进行翻译,以实现支持语言的效果,这对于开发用户跨越语言区域的工具来说是一个特别实用的功能. 下面介绍怎么制作和使用qt的翻译文件: ...
- excel中制作下拉列表
本文介绍如何在excel中制作下拉列表 选中需要显示下拉列表的区域,比如下表中的[优先级]整列(不包括标题栏),点击顶部菜单栏[数据]>[数据验证]>[数据验证-] 验证条件选择[序列], ...
- excel添加列下拉框票价_在Excel中制作下拉列表的三种方法
下拉列表在Excel中的用途十分广泛.在Excel中制作下拉列表可以通过数据有效性.使用窗体控件和VBA控件工具箱中的组合框来制作.下面用一个具体的例子来进行说明(在文章结尾处可下载xls格式的示例文 ...
- Qt QPushButton按钮用法详解
Qt QPushButton按钮用法详解 按钮是 GUI 开发中最常用到的一种控件,作为一款著名的 GUI 开发框架,Qt 提供了很多种按钮,比如 QPushButton(普通按钮).QRadioBu ...
最新文章
- 字符转换指令tr,col,expand
- 【转】清理Visual Studio打开的项目和文件、查找和最近引用组件痕迹
- 如何使用SAP Cloud for Customer的Key User Tool将Mashup添加到UI上
- 创建基于MailKit和MimeKit的.NET基础邮件服务
- 手把手教你写竞品分析
- Moto One Pro渲染图曝光:潮流“浴霸”四摄加持
- 华为鸿蒙系统腾讯,腾讯内容开放平台
- 人为什么总感觉莫名的心烦?
- 记录——《C Primer Plus (第五版)》第十章编程练习第四题
- Nginx 学习笔记(十)介绍HTTP / 2服务器推送(译)
- C++ 11 新特性
- Captaris WorkFlow的开发和部署
- 超级简单却不知道:html标签的嵌套规则
- jquery鼠标右键事件
- 用adb给华为mate10手机精简系统
- ArcGIS无插件加载(无偏移)天地图
- WDS服务--网络安装系统(自动部署装机Windows系统)
- 网络安全:六种常见的网络攻击手段
- android手机怎么拍月亮,苹果X手机怎样拍摄月亮 教你拍出最清晰的月亮
- 金蝶kis记账王新建套账的操作方法