qt中怎么隐藏ui的标题栏,并且能拖动ui界面
时间: 2024-03-10 20:44:43 浏览: 141
隐藏标题栏,窗口拖动
在Qt中隐藏UI的标题栏并且能拖动UI界面,需要进行以下步骤:
1. 在UI界面的构造函数中添加以下代码,隐藏标题栏:
```
this->setWindowFlags(Qt::FramelessWindowHint);
```
2. 为了能够拖动UI界面,需要在UI界面中实现鼠标按下、鼠标移动、鼠标释放事件:
```
private:
bool m_bPressed;
QPoint m_point;
protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
```
3. 在实现的事件函数中添加以下代码:
```
void YourWidget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
m_bPressed = true;
m_point = event->pos();
}
}
void YourWidget::mouseMoveEvent(QMouseEvent *event)
{
if (m_bPressed)
{
move(event->pos() - m_point + pos());
}
}
void YourWidget::mouseReleaseEvent(QMouseEvent *event)
{
m_bPressed = false;
}
```
这样就可以隐藏UI的标题栏并且能拖动UI界面了。
阅读全文