2

Windows 8 で GCC 4.8 を使用して静的にビルドされた Qt 5 の最新の安定バージョンを使用しています。

ボタンが 1 つだけの単純な QMainWindow ベースのアプリケーションを作成しました。ウィンドウのサイズを変更するとsetFixedSize(minimumSizeHint())、ウィンドウのサイズが変更され、最大化ボタンが無効になりますが、ポインターをエッジに合わせると、両側の矢印が表示され、ウィンドウを垂直方向に 14 ピクセルずつサイズ変更できます。別のボタンまたはステータス バーを追加しても、何も変わりません。最小の高さに 14 ピクセル (またはそれ以上) 追加すると、完全に固定されますが、それでも矢印が表示されますが、これは正常ではありません。

まったく同じコード (およびそのバリエーション) が PyQt4 で完全に機能するため、これは非常に奇妙です (注意してください、私は現在 C++ を使用しています)。私は試した:

  • layout()->setSizeConstraint(QLayout::SetFixedSize)- 同じ動作
  • setWindowFlags(Qt::MSWindowsFixedSizeDialogHint)- ウィンドウが消える

これを修正する方法はありますか?

UPD :別のボタンを追加するのは間違っていました (明らかに、ステータスバーを追加するのと同じではありません) - もうウィンドウのサイズを変更することはできません (ただし、Qt でウィンドウの高さを小さく設定できるのはなぜですか?好きなより...)、しかし矢印はまだそこにあります。

UPD 2 :非常によく似た質問が見つかりましたが、答えは役に立ちませんでした (質問自体へのコメントに記載されている理由により)。

4

2 に答える 2

1

Qt 5 では sizegrip の動作が異なるようです。バグかどうかはわかりません。メインウィンドウのフラグを設定してみQt::MSWindowsFixedSizeDialogHintましたが、うまくいくようです。私はWindows 7を使用しています。

setWindowFlags関数に関するドキュメントに記載されているように: Note: This function calls setParent() when changing the flags for a window, causing the widget to be hidden. You must call show() to make the widget visible again..

于 2013-06-03T08:02:25.653 に答える
0

PyQt4 と同じように動作させたい場合は、PyQt プロジェクトが使用しているのと同じバージョンの Qt を使用して C++ でプログラムするだけです: Qt 4.8.4

http://qt-project.org/doc/qt-4.8/qwidget.html#setFixedSize

それが役立つことを願っています。

于 2013-06-02T19:30:51.893 に答える