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

哪些网站做免费送东西的广告6地板网站源码

哪些网站做免费送东西的广告6,地板网站源码,巩义网络推广外包,个人网站设计构思概述 在Qt中,可以使用样式表(StyleSheet)来自定义 QMenu 的外观,包括其子项(如菜单项QAction)的颜色。但是,这通常可以设置 QMenu 的整体样式,而不能单独设置某个子项的颜色。不过&…

概述

在Qt中,可以使用样式表(StyleSheet)来自定义 QMenu 的外观,包括其子项(如菜单项QAction)的颜色。但是,这通常可以设置 QMenu 的整体样式,而不能单独设置某个子项的颜色。不过,我们可以通过自定义的 QWidgetAction实现这一目标:

效果图

实现过程

  1. 创建一个继承自 QWidgetAction 的子类 ColorAction。
  2. 添加一个的 QWidget,在 QWidget 中添加一个 QLabel。
  3. 为这个 QLabel 设置样式表。
  4. 然后,将这个自定义的 QWidgetAction 添加到 QMenu 中。

关键代码

ColorAction 类

#pragma once#include <QWidgetAction>
#include <QWidget>
#include <QLabel>  
#include <QVBoxLayout>  
#include <QStyleOption>class ColorAction : public QWidgetAction
{Q_OBJECTpublic:ColorAction(const QString text, const int nMenuHeight, QObject *parent = nullptr);~ColorAction();private:QLabel *label;QWidget *widget;
};
#include "ColorAction.h"ColorAction::ColorAction(const QString text, const int nMenuHeight, QObject *parent /*= nullptr*/) : QWidgetAction(parent)
{// 创建一个QWidget作为容器,并设置布局  widget = new QWidget();QVBoxLayout *layout = new QVBoxLayout(widget);layout->setContentsMargins(0, 0, 0, 0);// 创建QLabel并设置文字颜色  label = new QLabel(text, widget);label->setFixedHeight(nMenuHeight);label->setFont(QFont(QString::fromLocal8Bit("微软雅黑"), 10.5));label->setStyleSheet("QLabel{ padding-left:16px; color: #ff5050;background-color: rgb(255, 255, 255);} QLabel:hover{ background-color: #e9f2ff;}");layout->addWidget(label);setDefaultWidget(widget);
}ColorAction::~ColorAction()
{
}

使用 QMenu 类

#include "QMenuColorDemo.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QMouseEvent>class QPoint;QMenuColorDemo::QMenuColorDemo(QWidget *parent): QWidget(parent)
{ui.setupUi(this);	this->setFixedSize(310,200);_menu = new QMenu;_menu->setFixedWidth(115);_menu->setFont(QFont(QString::fromLocal8Bit("微软雅黑"), 10.5));int nMenuHeight = 30;_menu->setStyleSheet(QString::fromLocal8Bit("QMenu{\background:white;\border:1px solid lightgray;\padding-top:10px;\padding-bottom:10px;\}\QMenu::item{\padding:0px 20px;\height:%1px;\}\QMenu::item:selected:enabled{\background:#e9f2ff;\color:black;\}\QMenu::item:selected:!enabled{\background:transparent;\}\QMenu::separator{\height:1px;\background:#e4e4e4;\margin:5px 0px 5px 0px;\}").arg(nMenuHeight));_viewAction = new QAction(QString::fromLocal8Bit("查看"), this);_refreshAction = new QAction(QString::fromLocal8Bit("刷新"), this);_delAction = new ColorAction(QString::fromLocal8Bit("删除"), nMenuHeight, this);_menu->addAction(_viewAction);_menu->addAction(_refreshAction);_menu->addSeparator();_menu->addAction(_delAction);_btn = new QPushButton(QString::fromLocal8Bit("彩色菜单"));connect(_btn,&QPushButton::clicked,this, [=](){QPoint p = cursor().pos();_menu->exec(p);});QHBoxLayout * hLayout = new QHBoxLayout;hLayout->addWidget(_btn);hLayout->addStretch();QVBoxLayout *vLayout = new QVBoxLayout;vLayout->addItem(hLayout);vLayout->addStretch();this->setLayout(vLayout);	
}void QMenuColorDemo::mousePressEvent(QMouseEvent *event)
{if (event->button() == Qt::RightButton ){QPoint p = cursor().pos();_menu->exec(p);}
}

源码下载

https://download.csdn.net/download/qiangzi4646/89754043

http://www.yayakq.cn/news/733463/

相关文章:

  • 商城网站建设方案 2017即墨网站建设在哪
  • 潜江公司做网站网络广告的优点和缺点
  • 订票网站开发公司渭南建网站
  • 国外网站域名wordpress logged in
  • 地方网站发展方向网站 自适应js
  • 个人网站建设模板沈阳网站建设搜q479185700
  • 做网站推广哪个好网页如何建设
  • 免费成品网站网站设计导航栏怎么做
  • 网站建设项目目标描述杭州网站建设优化
  • 网站系统维护一个月正常吗互动网站策划
  • 创建wordpress插件关键词seo是什么
  • wordpress建小说站收费深圳网站建设哪个公司好
  • 长沙市住房和建设局官方网站广州专业网站建设
  • 网站建设工作汇报外贸营销运营
  • 乡镇网站建设和培训在线快速建站
  • 免费英文建设网站杭州网站建设找思创网络
  • 比较权威的房产网站网络营销特点
  • 沈阳模板网站制作山东手机网站建设电话
  • 北京做网站周云帆2024新装修风格客厅这样装
  • 汕头做网站的公司硬件开发工程师是干什么的
  • 推荐网站网页亚马逊的海外网站怎么做
  • wordpress 手册主题重庆sem优化
  • 帝国cms 网站地图 xml做网站主流软件是php吗
  • 网站文章没有被收录标签系统做的好的网站
  • 好的建站网站键盘事件对网站交互
  • 网站添加微博杭州企业画册设计公司
  • 网站给他人做付刑事责任济宁网站建设神华科技
  • 快站是个什么平台wordpress 获取模板路径
  • 珠海市网站游戏开发需要具备哪些技术
  • 西安好的网站建设公司排名同安建设局网站