OBS源码阅读笔记--无边框

本文介绍了一个使用Qt实现的简易窗口类OBSBasic,该类实现了鼠标拖动窗口移动的功能,并通过定时器每隔一定时间自动调整窗口大小。此外,还展示了如何在窗口调整大小时更新窗口的形状。
void OBSBasic::mousePressEvent(QMouseEvent * event)
{
this->windowPos = this->pos();
this->mousePos = event->globalPos();
this->dPos = mousePos - windowPos;
}


void OBSBasic::mouseMoveEvent(QMouseEvent* event)
{
this->move(event->globalPos() - this->dPos);
}


void OBSBasic::slottimedone()
{
QSize wndSize;
wndSize.setWidth(this->width() + 1);
wndSize.setHeight(this->height() + 1);
this->resize(wndSize);

}


QTimer::singleShot(1500, this, SLOT(slottimedone()));//时间要大于1500


void OBSBasic::resizeEvent(QResizeEvent * event)
{
QPainterPath path;//jiang
QRectF rect = QRectF(0, 0, this->width(), this->height());
path.addRoundedRect(rect, 5, 5);
QPolygon polygon = path.toFillPolygon().toPolygon();//获得这个路径上的所有的点
QRegion region(polygon);//根据这些点构造这个区域
setMask(region);
}



特点介绍: 透明度调节:用户可以通过左右箭头键轻松调节窗口的透明度,使其更好地融入桌面环境。 无标题栏设计:窗口没有传统的标题栏,用户可以通过点击并拖动窗口的任意部分来移动窗口。 文件打开功能:支持打开文本文件,并显示文件内容。 滚动功能:用户可以通过上下箭头键滚动文本内容。 窗口大小调整:用户可以通过拖动右下角的手柄来调整窗口的大小。 全屏置顶:窗口始终保持在最前面,方便用户在阅读时进行其他操作。 简洁界面:采用深色背景和白色文字,提供舒适的阅读体验。 退出快捷键:按下 Escape 键可以关闭窗口。 用法介绍: 启动程序:运行程序后,会显示一个带有“打开文件”按钮的窗口。 打开文件:点击“打开文件”按钮,选择一个文本文件,文件内容将会显示在窗口中。 调节透明度: 按下 Left 箭头键可以降低窗口的透明度。 按下 Right 箭头键可以增加窗口的透明度。 移动窗口:点击并拖动窗口的任意部分,可以移动窗口的位置。 滚动文本: 按下 Up 箭头键可以向上滚动文本。 按下 Down 箭头键可以向下滚动文本。 调整窗口大小:拖动窗口右下角的手柄,可以调整窗口的大小。 退出程序:按下 Escape 键可以关闭窗口。 通过这些功能,用户可以在不影响其他操作的情况下,舒适地阅读文本内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值