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

使馆网站建设简单网页设计成品

使馆网站建设,简单网页设计成品,外贸营销是做什么的,做一个产品网站要多少钱本博文源于笔者在学习C qt制作的标题栏组件#xff0c;主要包含了#xff0c;最小化#xff0c;最大化#xff0c;关闭。读者在看到这篇博文的时候#xff0c;可以直接查看如何使用的#xff0c;会使用了#xff0c;然后进行复制粘贴源码部分即可。 问题来源 想要制作…本博文源于笔者在学习C qt制作的标题栏组件主要包含了最小化最大化关闭。读者在看到这篇博文的时候可以直接查看如何使用的会使用了然后进行复制粘贴源码部分即可。 问题来源 想要制作一个qt标题栏组件 源码 一个.h文件 #ifndef CTITLEBAR_H #define CTITLEBAR_H#includeQWidget #includeQPushButton #includeQLabel #includeQHBoxLayoutclass 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 #includeQHBoxLayout #includeQApplication #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.hclass 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 QVBoxLayoutCDialog::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.hkea.cn/news/14580700/

相关文章:

  • 网站设计需要那些人怎么去推广自己的网站
  • 企业手机网站17模板网站
  • 泰安网站制作服务都匀网站制作
  • 重庆网站公司记事本做网站报告
  • 邯郸网站建设推荐驰捷网络公司做的公司网站怎么没了
  • 网站的优化用什么软件wordpress只能访问主页
  • 建设银行社保卡网站在哪做企业推广去哪个网站比较好
  • 社区类网站建设舆情报告模板
  • 做网站能赚流量钱吗进出口贸易网站制作
  • 七星彩网投网站建设本溪市做网站公司
  • 网站防御怎么做怎么设计手机网站
  • 军民融合网站建设成都关键词排名提升
  • 有没有免费的企业网站建设医疗机构网站模板
  • wordpress怎么添加统计代码单页面网站怎么优化
  • 网站开发方式哪四种wordpress主题 反盗版
  • 做求职网站襄阳seo营销
  • 长春市宽城区建设局网站免费模版网站
  • 网站建设情况说明书wordpress 前台文章
  • 邯郸高端网站建设价格制作网页时经常用的一种动态位图格式是
  • 深圳网站建设怎么修改网站模板详解
  • 无锡企业网站排名优化wordpress页面关键词和描述
  • 自己做的网站能被别人看到吗网站建设项目确认书
  • 广州互助网站开发嘉兴高档网站建设
  • 鲜花网站建设项目策划书热门页游排行榜前十名
  • 成都网站建设 全美wordpress $_SERVER
  • 高端网站建设谷美wordpress 百度广告插件
  • 北京专业制作网站公司宁德市市长
  • 域名怎么创建网站网站的建设费用属于什么科目
  • 网站 建设目标wordpress收费主体
  • 为什么网站要备案企业网站可以做商城类