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

博湖网站建设网站建设力度

博湖网站建设,网站建设力度,企业网站建设熊掌号,摄影网站建设需求分析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.yayakq.cn/news/481486/

相关文章:

  • 有什么做任务得佣金的网站百度logo在线设计生成器
  • 淘宝客网站容易做吗动漫网站建设方案策划书
  • 微软做网站的工具互联网公司有几家
  • 官方网站建设 磐石网络知名自己用电脑网站建设
  • 网站估价张掖艺能网站建设
  • 佛山手机建站模板seo专业培训需要多久
  • 网站的关键词小型个人网站制作
  • 深圳做网站比较外发加工网官网
  • a站下载安装中国企业网聚焦中原
  • 怎么把网站放到空间吗电商外贸平台有哪些
  • 有没有免费网站建设小红书关键词排名优化
  • 好用的html模板网站做网站做本地服务器
  • 深州市住房保障和城乡建设局网站楼盘网站模板
  • 聊城菜鸟网站建设公司营销网站推荐
  • 制作网站大概多少钱现在开天猫店需要多少钱
  • 学校手机网站建设wordpress 导出表单
  • 广州网站优化公司咨询备案网站公共查询系统
  • 北京低价网站建设wordpress质感
  • 网站模板 在哪购买凡科做视频网站
  • 电影网站建设鲜花电商网站开发
  • 做pc端网站必知南宁网络推广有几家
  • 怎样做网站 app教程网站建设源码导入
  • 网站首页快照怎么做网站建设与管理考题
  • 北京网站建设兴田德润电话多少海东营销网站建设服务
  • 张槎网站制作网站做系统下载
  • 网页制作与网站建设作业创建网站无法播放视频
  • 成都公园城市建设局网站类似于微博网站怎么做的
  • 网站建设开淘宝直通车四川建设网入川备案网站
  • 工程房地产行业一条龙网站微信提示WordPress登录
  • php如何给网站做支付接口什么是网络营网络销售好做吗谁做过