qt自定义标题栏

本文介绍了如何在Qt中创建自定义标题栏,包括创建标题界面类并处理鼠标事件,设置主界面为无边框,使用垂直布局和分割器进行布局管理,以及实现主界面的伸缩功能。
摘要由CSDN通过智能技术生成

1)创建一个标题的界面类,重新实现鼠标移动点击等事件

2)设置主界面无边框,创建一个垂直布局管理器,插入标题界面,在标题界面和主界面之间添加一个分割器

setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);

QtGuiDetailTitle *title = new QtGuiDetailTitle(this);

ui.verticalLayout->setContentsMargins(8, 8, 8, 8);//设置上下左右边距

ui.verticalLayout->insertWidget(0, title);

ui.verticalLayout->insertStretch(1);//插入一个分割器

3)重新实现主界面的nativeEvent时间,使界面可伸缩

#include <Windows.h>
#include <WindowsX.h>
bool QtGuiDirectDetail::nativeEvent(const QByteArray &eventType, void *message, long *result){
   
  MSG* msg = (MSG*)message;
  switch (msg->message){
   
  case WM_NCHITTEST:
    int xPos = GET_X_LPARAM(msg->lParam) - this->frameGeometry().x()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值