资源简介
Qt 自定义软件标题栏 -- 复用菜单栏menuBar();
.h文件和.cpp文件,不是可直接编译使用的.
参见:https://blog.csdn.net/zwb0540822/article/details/106072615
代码片段和文件信息
#include “mywindowtitlebar.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
MyWindowtitleBar::MyWindowtitleBar(QWidget * parent QString appIcon):Qframe(parent)
mainLayout(NULL)
addIcon(NULL)
menu(NULL)
titleLable(NULL)
minButton(NULL)
maxButton(NULL)
closeButton(NULL)
bMax(false)
{
setupUi();
addIcon->setPixmap(QIcon(appIcon).pixmap(2424));
connect(minButtonSIGNAL(clicked())thisSLOT(OnMinButton()));
connect(maxButtonSIGNAL(clicked())thisSLOT(OnMaxButton()));
connect(closeButtonSIGNAL(clicked())thisSLOT(OnCloseButton()));
}
void MyWindowtitleBar::setupUi()
{
mainLayout = new QHBoxLayout(this);
mainLayout->setContentsMargins(51102);
mainLayout->setSpacing(10);
addIcon = new QLabel(this);
minButton = new QToolButton(this);
minButton->setIcon(QIcon(“:/images/min.png“));
minButton->setAutoRaise(true);
minButton->setstyleSheet(“QToolButton:hover{background-color:blue;}“);
minButton->setIconSize(QSize(4022));
maxButton = new QToolButton(this);
maxButton->setIcon(QIcon(“:/images/max.png“));
maxButton->setAutoRaise(true);
maxButton->setstyleSheet(“QToolButton:hover{background-color:blue;}“);
maxButton->setIconSize(QSize(4022));
closeButton = new QToolButton(this);
closeButton->setIcon(QIcon(“:/images/close.png“));
closeButton->setAutoRaise(true);
closeButton->setstyleSheet(“QToolButton:hover{background-color:red;}“);
closeButton->setIconSize(QSize(4022));
QSpacerItem *horizontalSpacer1;
QSpacerItem *horizontalSpacer2;
horizontalSpacer1 = new QSpacerItem(40 20 QSizePolicy::Expanding QSizePolicy::Minimum);
horizontalSpacer2 = new QSpacerItem(40 20 QSizePolicy::Expanding QSizePolicy::Minimum);
titleLable = new QLabel(this);
titleLable->setText(“title“);
titleLable->setSizePolicy(QSizePolicy::Expanding QSizePolicy::Minimum);
titleLayout = new QHBoxLayout();
titleLayout->addItem(horizontalSpacer1);
titleLayout->addWidget(titleLable);
titleLayout->addItem(horizontalSpacer2);
this->setAutoFillBackground(true);
QPalette ss = this->palette();
ss.setColor(QPalette::Window Qt::white);
this->setPalette(ss);
}
void MyWindowtitleBar::SetMainMenuBar(QMenuBar *parentM QString appIcon)
{
if (parentM==NULL)
return ;
mainLayout->removeWidget(addIcon);
mainLayout->removeWidget(menu);
mainLayout->removeItem(titleLayout);
mainLayout->removeWidget(minButton);
mainLayout->removeWidget(maxButton);
mainLayout->removeWidget(closeButton);
addIcon->setPixmap(QIcon(appIcon).pixmap(2424));
mainLayout->addWidget(addIcon);
mainLayout->addWidget(parentM)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1104 2020-08-05 18:40 mywindowti
文件 6638 2020-08-05 18:40 mywindowti
----------- --------- ---------- ----- ----
7742 2
- 上一篇:一个矩形件排样的较优算法.PDF
- 下一篇:基于ANSYS的电力变压器漏感参数计算
相关资源
- QTP10破解
- 基于QT聊天室设计+部分论文内容
- qt5QjsonDemo
- Qt写的网络版五子棋游戏源代码
- Qt写的单机版的五子棋游戏源代码
- QT5.9.2+OpenGL,使用最新的QOpenGLWidget框
- 基于qt实现的画图板
- 编写QT键盘插件自定义GPIO按键
- QT vs2013编译 x64 patch
- QT Graphiview中的graphicItem的各种变化
- Qt线程间通信,线程控制界面显示
- 基于Qt的实时曲线绘制
- Qt QGraphics View架构
- Qt编写的列车运行预警系统
- QT 之 插件编写
- QT串口通讯(linux)
- Linux下QT tcp接收Zedboard发送的RGB888视频
- Qt课程表界面
- 竖形通用界面
- Qt闹钟提醒
- 绘制魔法鱼儿
- 网易云音乐界面
- 模拟电量进度条
- Qt2048游戏
- Qt图片预览(图形列表)
- 各种chart图表
- 滑动显示图片
- Qt动态数据模拟曲线
- 英语词典界面
- Qt个性按钮
评论
共有 条评论