首页 > 其他分享 >Qt实现自定义窗口拖动

Qt实现自定义窗口拖动

时间:2022-09-26 10:57:48浏览次数:55  
标签:Qt 自定义 拖动 void QMouseEvent isPress KMainWidget override event

1. widget重新三个函数

void mousePressEvent(QMouseEvent* event) override;
void mouseMoveEvent(QMouseEvent* event) override;    
void mouseReleaseEvent(QMouseEvent* event)  override;

2. 实现如下

void KMainWidget::mousePressEvent(QMouseEvent* event)
{
    Q_UNUSED(event);
    m_isPress = true;
    m_startPos = event->globalPos() - this->frameGeometry().topLeft();
}

void KMainWidget::mouseMoveEvent(QMouseEvent* event)
{
    if (m_isPress)
    {
        move(this->mapToGlobal(event->pos() - m_startPos));
    }
}

void KMainWidget::mouseReleaseEvent(QMouseEvent* event)
{
    m_isPress = false;
}

标签:Qt,自定义,拖动,void,QMouseEvent,isPress,KMainWidget,override,event
From: https://www.cnblogs.com/wanghongyang/p/16730097.html

相关文章

  • Qt 信号槽规则
    1. 一个信号允许连接多个槽函数  疑问1:当在这种情况下,一个信号发出,槽函数执行的顺序是按连接时的顺序依次执行的。如 信号sig1和槽函数slot1,slot2     ......
  • Qt6.2.4 qDebug() 输出到控件
    参考http://labisart.com/blog/index.php/Home/Index/article/aid/184环境环境版本windows10Qt6.2.4QtCreator8.0.1(Community)qmake一......
  • IOC控制反转,DI依赖注入,自定义IOC及生命周期,反射
    //1.依赖倒置原则//2.IOC控制反转//3.DI依赖注入//4.Unity容器//5.自定义IOC容器IOC:依赖抽象,不依赖细节,控制反转IOC......
  • qt的基本控件——输入控件
    输入控件1、comboxbox下拉列表,由按钮和弹出列表组成双击这个控件,可以往里面加内容,一行一个。voidWidget::on_comboBox_currentIndexChanged(intindex){ QString......
  • 自定义注解
    格式元注解public@interface注解名称{属性列表}本质注解本质上就算一个接口该接口默认继承Annotation接口属性接口中的抽象方法要求属性的返回......
  • nginx禁止直接通过ip进行访问并跳转到自定义403页面
    配置server{listen80default;server_name_;error_page403/403.html;location=/403.html{roothtml;}location/{......
  • 【代码片段】Qt6.2.4 C++ 打开外部 CMD 窗口
    转载https://blog.csdn.net/fuhuixin7497/article/details/85126799正文打开了一个外部CMD窗口,并且主程序推出后该窗口不会关闭voidMainWindow::on_allPathCmdBtn......
  • vue3 基础-自定义指令 directive
    上篇内容是关于mixin混入的一些操作,也是关于代码复用层面的,本篇讲自定义指令directive也是为了实现复用而设计的一些小功能啦.先来看看,如果不用directive的场......
  • 关于字符编码Qt
    QString中汉字是按照UTF-8编码的,QString::toUtf8是输出UTF-8字符集,QString::local8bit是本地操作系统的字符集,QString::tolatin是Ascii码字符集下图代码中,汉字转成latin......
  • 用VS Code搞Qt 6:Gui基础类型——QGuiApplication和QWindow
    在99.996%的情况下,我们弄Qt应用都会使用QApplication类和QWidget类,即直接用Widgets库中的组件/控件。为了方便开发人员自己造轮子,Qt也提供了一套基础的GUI组件......