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

温州外贸网站制作网站关键词优化怎么弄

温州外贸网站制作,网站关键词优化怎么弄,网站做成app客户端,wordpress英文版切换中文本博文源于笔者在学习C qt制作的标题栏组件,主要包含了,最小化,最大化,关闭。读者在看到这篇博文的时候,可以直接查看如何使用的,会使用了,然后进行复制粘贴源码部分即可。 问题来源 想要制作…

本博文源于笔者在学习C++ qt制作的标题栏组件,主要包含了,最小化,最大化,关闭。读者在看到这篇博文的时候,可以直接查看如何使用的,会使用了,然后进行复制粘贴源码部分即可。

问题来源

想要制作一个qt标题栏组件

源码

一个.h文件

#ifndef CTITLEBAR_H
#define CTITLEBAR_H#include<QWidget>
#include<QPushButton>
#include<QLabel>
#include<QHBoxLayout>class CTitleBar :public QWidget {Q_OBJECT;
public:CTitleBar(QWidget *parent,QString title,bool showMinimizeButton = true,bool showMaximizeButton = true);void setTitle(const QString& title);void mousePressEvent(QMouseEvent *event);void mouseMoveEvent(QMouseEvent* event);void mouseReleaseEvent(QMouseEvent* event);
signals:void minimizeClicked();void maximizeClicked();void closeClicked();
private:QLabel* m_titleLabel;QPoint dragPosition;bool dragging;private slots:void onMinimizeClicked();void onMaximizeClicked();void onCloseClicked();
};#endif
#include "CTitleBar.h"
#include<QHBoxLayout>
#include<QApplication>
#include <QMouseEvent>
CTitleBar::CTitleBar(QWidget *parent, QString title,bool showMinimizeButton, bool showMaximizeButton) :QWidget(parent) {QHBoxLayout* layout = new QHBoxLayout(this);layout->setContentsMargins(1, 0, 0, 0);layout->setSpacing(0);QString strSkinDir = QApplication::applicationDirPath() + "/skin/images/"; //添加资源图片QLabel* iconLabel = new QLabel(this);iconLabel->setPixmap(QIcon(strSkinDir + "/logo.png").pixmap(60, 60));  // 设置图标大小iconLabel->setFixedSize(20, 30);// 标题标签m_titleLabel = new QLabel(title, this);m_titleLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);m_titleLabel->setContentsMargins(0, 0, 0, 0);layout->addWidget(iconLabel);layout->addWidget(m_titleLabel);QPushButton* minimizeButton = nullptr;QPushButton* maximizeButton = nullptr;if (showMinimizeButton) {minimizeButton = new QPushButton(this);minimizeButton->setIcon(QIcon(strSkinDir + "/min.png"));minimizeButton->setObjectName("minButton");minimizeButton->setStyleSheet("QPushButton:hover{background-color:rgb(184,184,184)}");connect(minimizeButton, &QPushButton::clicked, this, &CTitleBar::onMinimizeClicked);layout->addWidget(minimizeButton);}if (showMaximizeButton) {maximizeButton = new QPushButton(this);maximizeButton->setIcon(QIcon(strSkinDir + "/max.png"));maximizeButton->setObjectName("maxButton");maximizeButton->setStyleSheet("QPushButton:hover{background-color:rgb(184,184,184)}");connect(maximizeButton, &QPushButton::clicked, this, &CTitleBar::onMaximizeClicked);layout->addWidget(maximizeButton);}QPushButton* closeButton = new QPushButton( this);closeButton->setIcon(QIcon(strSkinDir + "/close.png"));closeButton->setObjectName("closeButton");closeButton->setStyleSheet("QPushButton:hover{background-color:rgb(232,17,35)}");connect(closeButton, &QPushButton::clicked, this, &CTitleBar::onCloseClicked);layout->addWidget(closeButton);this->setLayout(layout);this->setFixedHeight(30);  // 设置标题栏高度
}void CTitleBar::setTitle(const QString& title) {m_titleLabel->setText(title);
}void CTitleBar::mousePressEvent(QMouseEvent * event)
{if (event->button() == Qt::LeftButton) {dragging = true;dragPosition = event->pos();event->accept();}}void CTitleBar::mouseMoveEvent(QMouseEvent * event)
{if (dragging && (event->buttons() & Qt::LeftButton)) {parentWidget()->move(event->globalPos() - mapToParent(dragPosition));event->accept();}
}
void CTitleBar::mouseReleaseEvent(QMouseEvent * event)
{dragging = false;
}void CTitleBar::onMinimizeClicked() {emit minimizeClicked();
}void CTitleBar::onMaximizeClicked() {emit maximizeClicked();
}void CTitleBar::onCloseClicked() {emit closeClicked();
}

如何使用

创建一个垂直栏,将标题栏包起来就行。

#ifndef CDIALOG_H
#define CDIALOG_H#include <QDialog>
#include "CTitleBar.h"class CDialog : public QDialog {Q_OBJECT
public:explicit CDialog(QString title, QWidget *parent = nullptr,bool showmin  = false,bool showmax = false, int width = 400, int height = 400);virtual ~CDialog();void setSubDialog(QLayout* subLayout); protected:void initUI(QString title,int width,int height,bool showmin,bool showmax);private:CTitleBar* m_titleBar;QVBoxLayout* m_layout; QLayout* m_subLayout;   
};#endif // CDIALOG_H
#include "CDialog.h"
#include <QVBoxLayout>CDialog::CDialog(QString title, QWidget *parent ,bool showmin, bool showmax, int width, int height) : QDialog(parent), m_subLayout(nullptr) {setWindowFlags(windowFlags() | Qt::FramelessWindowHint);initUI(title,width,height,showmin,showmax);
}CDialog::~CDialog() {
}void CDialog::initUI(QString title,int width,int height, bool showmin, bool showmax) {m_titleBar = new CTitleBar(this,title, showmin, showmax);connect(m_titleBar, &CTitleBar::closeClicked, this, &CDialog::close);m_layout = new QVBoxLayout(this);m_layout->addWidget(m_titleBar,0,Qt::AlignTop);m_layout->setContentsMargins(0, 0, 0, 0);m_layout->setSpacing(0);if (m_subLayout) {m_layout->addLayout(m_subLayout);}setLayout(m_layout);this->resize(width,height);setStyleSheet("QDialog{background-color:white}");m_titleBar->setStyleSheet("background-color:rgb(240,240,240)");
}void CDialog::setSubDialog(QLayout* subLayout) {if (subLayout != nullptr && m_layout != nullptr) {m_subLayout = subLayout;m_layout->addLayout(m_subLayout);}
}

当你继承了这个CDialog的时候,就会直接出现一个标题栏和一个窗体了。
在这里插入图片描述

http://www.khdw.cn/news/18184.html

相关文章:

  • 快速开租建站在哪里可以免费自学seo课程
  • 除了dz论坛还能搭建什么网站seo自动优化软件下载
  • 上海b2b网站开发公司seo服务是什么意思
  • 网站开发配置状态报告seo如何优化网站步骤
  • 嘉定区网站建设网络媒体软文案例
  • java做网站和php做网站免费二级域名建站
  • 网站备案拍布幕北京seo排名外包
  • 公司网站php太原企业网站建设
  • tp框架做网站的优点重庆seo网站建设
  • 网站建设毕业设计怎么做软文网站模板
  • 做网站推广员百度竞价广告收费标准
  • 广西两学一做考试网站网络优化软件
  • 做搜狗手机网站点seo点击工具
  • 品牌设计收费标准淮北seo排名
  • 做网站推广需要做什么百度教育官网
  • 网站上的3d怎么做的外贸seo
  • 有没有做公章的网站怎么样才能引流客人进店
  • 我要做网站做网站临泉全国最新疫情最新消息
  • 湖南建设人力资源官方网站百度搜索提交入口
  • 大型门户网站制作流程搜索引擎seo推广
  • 网站分为哪些部分组成部分产品推广介绍
  • WordPress用bbr百度seo技术
  • 宿迁做网站优化泰安网站seo推广
  • 手机什么app做网站球队排名榜实时排名
  • 东昌府做网站广告投放方案
  • jsp动态网站开发考试题阜平网站seo
  • 知名网站制作公司有哪些免费创建自己的网站
  • wps文字可以做网站吗搜索百度指数
  • 深圳 做网站 互联河北seo基础
  • 太原建站推广关键词优化是什么意思?