最初の解決策
ウィンドウのフラグに次のフラグを追加して、ユーザーがウィンドウのサイズを変更できないようにすることができます。
setWindowFlags(this->windowFlags() |= Qt::FramelessWindowHint);
Window Flagsに関する詳細情報は次のとおりです。
2番目の(醜い)実験ソリューション
これは一種の汚い回避策です...これがきれいではないという事実を私は十分に認識しています。
メイン ウィンドウの領域を離れたときにカーソルを手動で変更するこの小さなメイン ウィンドウを作成しました。
注: 副作用を考慮する必要があります。子ウィジェットに必要な別のカーソル形状があるかもしれませんが、これは完全なアプリケーションのカーソルをオーバーライドします。
これは、さらなる開発や単純なアプリケーションの出発点として使用できます。
ヘッダ:
class CMainWindow :
public QMainWindow
{
public:
CMainWindow(QWidget* parent = nullptr);
virtual ~CMainWindow(void);
protected:
virtual void leaveEvent( QEvent *event );
virtual void enterEvent( QEvent *event );
};
cpp:
CMainWindow::CMainWindow(QWidget* parent) : QMainWindow(parent)
{
setMouseTracking(true);
}
CMainWindow::~CMainWindow(void)
{
}
void CMainWindow::leaveEvent( QEvent *event )
{
qApp->setOverrideCursor(QCursor(Qt::ArrowCursor));
QMainWindow::leaveEvent(event);
}
void CMainWindow::enterEvent( QEvent *event )
{
qApp->restoreOverrideCursor();
QMainWindow::enterEvent(event);
}