QTデザインウィンドウをフチなしフォームに設定した後、ウィンドウを移動できませんでした。インターネットで資料を見つけ、自分に合ったものを選んで共有しました。
1. wight.hでパブリックメンバー変数QPoint dragPositionを定義します。
2.マウスダウンイベントとマウス移動イベントを書き換えます
マウスダウンイベント
void ウィジェット :: mousePressEvent(QMouseEvent * event)
{
if(event- > button() == Qt :: LeftButton)
{
dragPosition = event- > globalPos()-frameGeometry()。topLeft();
// globalPos()はルートウィンドウの相対パスを取得し、frameGeometry()。topLeft()はメインウィンドウの左上隅の位置を取得します
event-> accept(); //マウスイベントがシステムによって受信されます
}
}
マウスクリックイベント
void ウィジェット :: mouseMoveEvent(QMouseEvent *イベント)
{
この - >移動(event-> globalPos() - dragPosition)。
event-> accept();
}わかりました、とても簡単ですよね?
【参考】http://www.xuebuyuan.com/1899289.html