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

工业设计专业学什么广州seo优化排名推广

工业设计专业学什么,广州seo优化排名推广,wordpress关键词内链图片,数据库检索网站建设1 介绍 在QLabel中没有双击等事件响应,需要构建其派生类,自定义信号(signals)、重载事件函数(event),最后在Qwidget中使用connect链接即可,进而实现响应功能。 对于其余没有需求事件响应的QObject同样适用。 此外,该功…

1 介绍

        在QLabel中没有双击等事件响应,需要构建其派生类,自定义信号(signals)、重载事件函数(event),最后在Qwidget中使用connect链接即可,进而实现响应功能。

        对于其余没有需求事件响应的QObject同样适用。

        此外,该功能同样可以使用事件过滤器,将QLable所需的双击事件功能委托给其它QObjectQWidget来处理

2 过程

2.1 构建派生类

        

        

2.2 自定义信号,重载事件函数

        信号doubleClicked、 与mouseDoubleClickEvent声明:

       与mouseDoubleClickEvent定义:

         注:信号doubleClicked在Qt中有内置定义,不需要重载

 2.3 QWidget中的connect链接

         

3 代码

         tmylabel.h

#ifndef TMYLABEL_H
#define TMYLABEL_H#include <QLabel>
#include <QObject>
#include <QMainWindow>class TMyLabel : public QLabel
{Q_OBJECT
public:TMyLabel(QWidget *parent = nullptr);
signals:void doubleClicked();// QWidget interface
protected:virtual void mouseDoubleClickEvent(QMouseEvent *event) override;// QObject interface
public:virtual bool event(QEvent *event) override;
};#endif // TMYLABEL_H

        tmylabel.cpp

#include "tmylabel.h"
#include <QEvent>
TMyLabel::TMyLabel(QWidget *parent):QLabel(parent)
{setAttribute(Qt::WA_Hover, true);
}void TMyLabel::mouseDoubleClickEvent(QMouseEvent *event)
{Q_UNUSED(event);emit doubleClicked();
}bool TMyLabel::event(QEvent *event)
{if(event->type() == QEvent::HoverEnter){QPalette palette = this->palette();palette.setColor(QPalette::WindowText, Qt::red);setPalette(palette);}else if(event->type() == QEvent::HoverLeave){QPalette palette = this->palette();palette.setColor(QPalette::WindowText, Qt::black);setPalette(palette);}return QLabel::event(event);
}

        mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);connect(ui->label, &TMyLabel::doubleClicked, this, &MainWindow::do_double_clicked);}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::do_double_clicked()
{ui->label->setText("label被双击,自定义信号槽响应");
}void MainWindow::mouseDoubleClickEvent(QMouseEvent *event)
{Q_UNUSED(event);ui->label->setText("窗口被双击");ui->label->adjustSize();
}

        mainwindow.h 

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
private slots:void do_double_clicked();private:Ui::MainWindow *ui;// QWidget interface
protected:virtual void mouseDoubleClickEvent(QMouseEvent *event) override;
};#endif // MAINWINDOW_H

http://www.dinnco.com/news/67449.html

相关文章:

  • 找网站建设企业品牌推广战略
  • 大兴企业官网网站建设报价做网站设计的公司
  • 海鲜网站开发目的在于网络推广合作协议
  • 建站公司 phpwind托管竞价账户哪家好
  • 国外有没有做问卷调查的网站近期新闻大事
  • 网站搭建招标方案谷歌搜索优化seo
  • 微信公众号怎么创建要多少钱廊坊seo排名公司
  • 手机网站建设课程教学生成关键词的软件
  • 钢筋网片厂家seo基础篇
  • 十堰市网站建设最新国内新闻重大事件
  • 公司网站怎么关闭2023新闻摘抄十条
  • 国内移动端网站做的最好的国际要闻
  • 网站建设 推荐网址推广
  • wap网站怎么打开营销思路八大要点
  • 网络科技公司网站模板无锡网站排名公司
  • 网页设计网站搭建平台软件定制开发
  • 广告设计公司技术aso优化技巧大aso技巧
  • wordpress 加速太原关键词优化服务
  • 自建外贸网站做B2B免费推广网站推荐
  • 北京 网站制作google搜索引擎入口google
  • 北京网站建站公最近重大新闻
  • 做个网站一年要多少钱手把手教你优化网站
  • 海尔建设此网站的目的是什么意思chrome网页版入口
  • 怎么做博彩网站推广武汉seo关键字推广
  • 网站论坛推广文案怎么做在线推广企业网站的方法有哪些
  • 东莞+网站建设+定制水网址收录大全
  • 手机网站设计要素宣传软文是什么意思
  • 户县规划建设和住房保障局网站自媒体平台收益排行榜
  • 怎样在百度能搜到自己的网站肇庆seo排名
  • 乌市做网站的公司网络营销推广公司网站