当前位置: 首页 > news >正文

Qt点击按钮在其附近弹出一个窗口

效果

在这里插入图片描述

FS_PopupWidget.h

#ifndef FS_POPUPWIDGET_H
#define FS_POPUPWIDGET_H#pragma once#include <QToolButton>
#include <QWidgetAction>
#include <QPointer>class QMenu;class FS_PopupWidget : public QToolButton
{Q_OBJECTpublic:FS_PopupWidget(QWidget *parent = Q_NULLPTR);~FS_PopupWidget();private:QPointer<QWidgetAction> m_popup_widget;QPointer<QMenu> m_menu;
};
#endif // FS_POPUPWIDGET_H

FS_PopupWidget.cpp

#include"fs_popupwidget.h"#include <QMenu>
#include <QListWidget>
#include <QListWidgetItem>
#include <QHBoxLayout>
#include <QVBoxLayout>#pragma execution_character_set("utf-8")FS_PopupWidget::FS_PopupWidget(QWidget *parent): QToolButton(parent)
{// set ToolButton attributethis->setPopupMode(QToolButton::InstantPopup);this->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);this->setIcon(QIcon(":/images/images/error.png"));this->setText("弹出");m_popup_widget = new QWidgetAction(this);m_menu = new QMenu(this);QPointer<QListWidget> lwd = new QListWidget;lwd->setMinimumSize(QSize(400, 400));lwd->setViewMode(QListView::IconMode);lwd->setIconSize(QSize(80, 80));for (int i = 0; i < 10; i++){QListWidgetItem* item = new QListWidgetItem(QIcon(":/images/images/warning.png"), "Test");lwd->addItem(item);}QPointer<QVBoxLayout> layout_main = new QVBoxLayout;layout_main->addWidget(lwd);QPointer<QWidget> default_widget = new QWidget;default_widget->setLayout(layout_main);m_popup_widget->setDefaultWidget(default_widget);m_menu->addAction(m_popup_widget);this->setMenu(m_menu);
}FS_PopupWidget::~FS_PopupWidget()
{
}

MainWindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"QHBoxLayout"
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);myFS_PopupWidget=new FS_PopupWidget();ui->verticalLayout->addWidget(myFS_PopupWidget);
}MainWindow::~MainWindow()
{delete ui;
}

相关文章:

Qt点击按钮在其附近弹出一个窗口

效果 FS_PopupWidget.h #ifndef FS_POPUPWIDGET_H #define FS_POPUPWIDGET_H#pragma once#include <QToolButton> #include <QWidgetAction> #include <QPointer>class QMenu;class FS_PopupWidget : public QToolButton {Q_OBJECTpublic:FS_PopupWidget(QW…...

Springboot注解@Configuration和@Bean注解作用,生命周期

简介&#xff1a; Configuration 类是定义 bean 配置的地方&#xff0c;而 Bean 方法是具体创建 bean 实例的方法。 Configuration 作用&#xff1a; Configuration 注解用于定义配置类&#xff0c;表明该类包含一个或多个 bean 定义的方法。Spring 容器在启动时会自动扫描这些…...

30天精通Nodejs--第十五天:Websocket

引言 这里我们将继续深入探讨另一项强大且实时性极高的网络通信技术——WebSocket。通过本篇文章,将全面了解如何在Node.js环境中利用WebSocket实现服务端与客户端之间双向、低延迟的数据传输,并掌握其基础用法以及一些高级应用场景。 基础用法 安装WebSocket库 在Node.j…...

C++深入学习之STL:2、适配器、迭代器与算法部分

适配器概述 C标准模板库(STL)中提供了几种适配器&#xff0c;这些适配器主要用于修改或扩展容器类的功能。STL中的适配器主要包括以下几种&#xff1a; 1、迭代器适配器&#xff1a;迭代器适配器提供了一种机制&#xff0c;可以将非迭代器对象转换为迭代器对象。比如back_ins…...

Tiktok/抖音旋转验证码识别

一、引言 在数字世界的飞速发展中&#xff0c;安全防护成为了一个不容忽视的课题。Tiktok/抖音&#xff0c;作为全球最大的短视频平台之一&#xff0c;每天都有数以亿计的用户活跃在其平台上。为了保护用户的账号安全&#xff0c;Tiktok/抖音引入了一种名为“旋转验证码”的安…...

【Java 设计模式】设计原则

文章目录 ✨单一职责原则&#xff08;SRP&#xff09;✨开放/封闭原则&#xff08;OCP&#xff09;✨里氏替换原则&#xff08;LSP&#xff09;✨依赖倒置原则&#xff08;DIP&#xff09;✨接口隔离原则&#xff08;ISP&#xff09;✨合成/聚合复用原则&#xff08;CARP&#…...

Druid连接池工具公式化SQL附踩坑记录

1. 需求 使用Druid连接池工具格式化sql用于回显时候美观展示 2. 代码示例 2.1 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.6</version> </dependency> 2.2 ParseUtils…...

Linux内核--网络协议栈(二)UDP数据包发送

目录 一、引言 二、数据包发送 ------>2.1、数据发送流程 三、协议层注册 ------>3.1、socket系统调用 ------>3.2、socket创建 ------>3.3、协议族初始化 ------>3.4、对应协议的socket创建 ------>3.5、协议注册 四、通过套接字发送网络数据 --…...

基于深度学习的时间序列算法总结

1.概述 深度学习方法是一种利用神经网络模型进行高级模式识别和自动特征提取的机器学习方法&#xff0c;近年来在时序预测领域取得了很好的成果。常用的深度学习模型包括循环神经网络&#xff08;RNN&#xff09;、长短时记忆网络&#xff08;LSTM&#xff09;、门控循环单元&a…...

nginx中多个server块共用upstream会相互影响吗

背景 nginx中经常有这样的场景&#xff0c;多个server块共用一个域名。 如&#xff1a;upstream有2个以上的域名&#xff0c;nginx配置两个server块&#xff0c;共用一个upstream配置。 那么&#xff0c;如果其中一个域名发生"no live upstreams while connecting to ups…...

基于信号完整性的一些PCB设计建议

最小化单根信号线质量的一些PCB设计建议 1. 使用受控阻抗线&#xff1b; 2. 理想情况下&#xff0c;所有信号都应该使用完整的电源或地平面作为其返回路径&#xff0c;关键信号则使用地平面作为返回路径&#xff1b; 3. 信号的返回参考面发生变化时&#xff0c;在尽可能接近…...

《BackTrader量化交易图解》第8章:plot 绘制金融图

文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格8.6 vol 成交参数8.7 多图拼接模式8.8 绘制 HA 平均 K 线图 8. plot 绘制金融图 8.1 金融分析曲线 BackTrader内置的plot绘图函…...

什么是欧拉筛??

欧拉筛&#xff08;Eulers Sieve&#xff09;&#xff0c;又称线性筛法或欧拉线性筛&#xff0c;是一种高效筛选素数的方法。它的核心思想是从小到大遍历每个数&#xff0c;同时标记其倍数为合数&#xff0c;但每个合数只被其最小的质因数标记一次&#xff0c;从而避免了重复标…...

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑩

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应处理&#xff0c;程序根据两个输入参数iRecordNum和IType计算x的值并返回。编写程序代码&#xff0c;使用JUnit框架编写测试类对编写的程序代码进行测试&#xff0c;测试类中设计最少的测试数据满足基路…...

使用WAF防御网络上的隐蔽威胁之SSRF攻击

服务器端请求伪造&#xff08;SSRF&#xff09;攻击是一种常见的网络安全威胁&#xff0c;它允许攻击者诱使服务器执行恶意请求。与跨站请求伪造&#xff08;CSRF&#xff09;相比&#xff0c;SSRF攻击针对的是服务器而不是用户。了解SSRF攻击的工作原理、如何防御它&#xff0…...

Redis基础系列-哨兵模式

Redis基础系列-哨兵模式 文章目录 Redis基础系列-哨兵模式1. 引言2. 什么是哨兵模式&#xff1f;3. 哨兵模式的配置4. 哨兵模式的启动和验证4.1 主master宕机&#xff0c;看会出现什么问题4.2 重启6379主机 5. 哨兵模式的工作原理和选举原理5.1. SDown主观下线&#xff08;Subj…...

【angular教程240112】09(完) Angular中的数据请求 与 路由

【angular教程240112】09(完) Angular中的数据请求 与 路由 目录标题 一、 Angular 请求数据简介0 使用Angular内置模块HttpClientModule和HttpClientJsonpModule:1 Angular中的GET请求:2 Angular中的POST请求:3 Angular中的JSONP请求:4使用Axios进行数据请求: 二、 详解 Angul…...

go中拷贝文件操作

一. 拷贝文件内容到另一个文件位置 // 拷贝文件内容到另一个文件里面 func copyContent() {filepath1 : "d:/abc.txt"filepath2 : "e:/eee.txt"// 读取内容data, err : os.ReadFile(filepath1) // 使用os.ReadFile函数读取指定路径的文件内容if err ! nil…...

未来气膜体育馆的发展趋势是什么?

未来气膜体育馆的发展趋势是多方面的&#xff0c;以下是其中几个方面的趋势。 起初&#xff0c;随着人们对体育运动的需求不断增加&#xff0c;气膜体育馆的建设和使用将成为一种趋势。气膜体育馆具有灵活性和可移动性的特点&#xff0c;可以快速搭建和拆除&#xff0c;能够适…...

通信扫盲(五)

系列文章目录 1 通信扫盲&#xff08;一&#xff09;&#xff1a; 通信的本质、通信发展史-各代移动通信的多祉技术、5G、6G应用场景/愿景、LTE是什么&#xff1f;3GPP是什么&#xff1f; 链接&#xff1a;通信扫盲&#xff08;一&#xff09; 2 通信扫盲&#xff08;二&…...

告别NMS!RT-DETR实战:用3090显卡5分钟跑通端到端目标检测(附完整代码)

RT-DETR实战&#xff1a;5分钟搭建无需NMS的高效目标检测系统 当你在深夜调试YOLO模型的NMS参数时&#xff0c;是否想过——为什么2023年了&#xff0c;我们还要手动调整这些上世纪90年代就存在的后处理逻辑&#xff1f;上周我在处理一个密集货架检测项目时&#xff0c;NMS导致…...

别只盯着算力!RK3588机器人主板的I/O、ADC与通信接口,才是落地关键

别只盯着算力&#xff01;RK3588机器人主板的I/O、ADC与通信接口&#xff0c;才是落地关键 在工业机器人系统集成领域&#xff0c;开发者常常陷入"算力至上"的误区。实际上&#xff0c;真正决定项目成败的往往是那些看似平凡的接口——GPIO的响应延迟、ADC的采样精度…...

元宇宙移动端开发指南:从零开始构建AR/VR虚拟世界的完整教程

元宇宙移动端开发指南&#xff1a;从零开始构建AR/VR虚拟世界的完整教程 【免费下载链接】android_guides Extensive Open-Source Guides for Android Developers 项目地址: https://gitcode.com/gh_mirrors/an/android_guides GitHub 加速计划的 android_guides 项目提…...

揭秘3140亿参数Grok-1:马斯克AI巨兽的多语言能力技术突破

揭秘3140亿参数Grok-1&#xff1a;马斯克AI巨兽的多语言能力技术突破 【免费下载链接】grok-1 Grok open release 项目地址: https://gitcode.com/GitHub_Trending/gr/grok-1 Grok-1作为一款备受关注的开源AI模型&#xff0c;凭借其3140亿的惊人参数规模&#xff0c;在自…...

VS Code MCP插件生态搭建实战:从零到日均300+开发者协同的7步标准化流程

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VS Code MCP插件生态搭建手册 MCP&#xff08;Model Context Protocol&#xff09;是新一代AI原生开发协议&#xff0c;旨在标准化大模型与本地开发工具之间的上下文交互。VS Code 作为主流编辑器&…...

忍者像素绘卷:5分钟零基础上手,打造你的16位复古游戏角色

忍者像素绘卷&#xff1a;5分钟零基础上手&#xff0c;打造你的16位复古游戏角色 1. 前言&#xff1a;像素艺术的魅力 你是否曾经被那些经典的16位游戏角色所吸引&#xff1f;那些由一个个小方块组成的角色&#xff0c;虽然简单却充满个性。现在&#xff0c;借助"忍者像…...

5分钟快速上手!Draw.io电子工程绘图库完整指南

5分钟快速上手&#xff01;Draw.io电子工程绘图库完整指南 【免费下载链接】Draw-io-ECE Custom-made draw.io-shapes - in the form of an importable library - for drawing circuits and conceptual drawings in draw.io. 项目地址: https://gitcode.com/gh_mirrors/dr/Dr…...

大模型黑盒蒸馏技术:GAD框架解析与实践

1. 大模型黑盒蒸馏的挑战与机遇在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;展现出惊人的能力&#xff0c;但其庞大的参数量也带来了高昂的计算成本。知识蒸馏&#xff08;Knowledge Distillation&#xff09;技术通过将大模型&#xff08;教师模型…...

【含最新安装包】无需配环境:OpenClaw 2.6.6 Windows 部署教学

告别手动配环境&#xff01;龙虾云智能 Windows 一键部署全流程&#xff0c;3 分钟安装上手指南 核心亮点&#xff1a;零代码操作&#xff5c;全程自动化部署&#xff5c;内置全套运行依赖&#xff5c;多模型兼容 下载地址&#xff1a;https://xiake.yun/api/download/packag…...

RLVR:让AI的回答可验证、可审计、可信赖

2026年&#xff0c;当麦肯锡将“AI不准确性”列为该年度企业最需防范的风险&#xff0c;业界开始追问&#xff1a;如何让模型输出既准确又可控&#xff1f;过去&#xff0c;我们依赖RLHF来优化AI自然度。但在金融、医疗、代码等不容出错的场景&#xff0c;我们需要一种更硬核的…...