qt窗体的移动

发布时间 2023-03-31 10:27:54作者: 学无止境A
/// <summary>
    /// 获得鼠标按下事件
    /// </summary>
    /// <param name=""></param>
    void  mousePressEvent(QMouseEvent*) override;
	/// <summary>
	/// 获得鼠标移动事件
	/// </summary>
	/// <param name=""></param>
	void mouseMoveEvent(QMouseEvent*) override;
//用法
void DigiClock::mousePressEvent(QMouseEvent* event)
{
	if (event->button()==Qt::LeftButton)
	{
      //QPoint dragPosition
      //QWidget::frameGeometry()
    
    dragPosition = event->globalPos() - frameGeometry().topLeft(); event->accept(); }
if (event->button()==Qt::RightButton) { close(); }
}
void DigiClock::mouseMoveEvent(QMouseEvent* event)
{
if (event->buttons()&Qt::LeftButton)
{ move(event->globalPos() - dragPosition); event->accept(); }
}