現在、qss スタイルシートを使用して QMainWindow のスタイルを設定しようとしています。サイズの設定を除いて、うまく機能します。次のqssパラメーターを使用しています:幅、高さ、最小幅、最小高さ。スタイルシート ファイルの max-width、max-height。残念ながら、私が何をしても、ウィンドウを 200x100 ピクセル未満にすることはできません。qss ファイルを使用して完全にスタイルを設定したいため、geometry、sizePolicy、minimumSize、 maximumSize などの UI フォーム プロパティは定義されていません。ヒントをいただければ幸いです:-)
2 に答える
ウィンドウの最小サイズを 0 に設定します。
window->setMinimumSize(QSize(0,0));
また、ウィンドウの最大サイズを大きな値 (1000,1000) に設定します。
window->setMaximumSize(QSize(1000,1000));
フォーム (ui) でこのプロパティを設定します。または、上記のコンストラクターで。
これで、任意のサイズを設定できます。css
最小の 0 サイズと最大の 1000 サイズで、ほぼすべての値を自由に設定できるという事実を考慮してくださいpractically
。
注: UI/スタイル全体を別の UI/スタイル ファイルで定義する場合は、QML と QtQuick を確認することをお勧めします。従来の QWidget アプリケーションでは、可能な限り Qt スタイル シートを使用しようとしましたが、常にいくつかの制限に直面していました (Qt スタイル シートからサイズ ポリシーを設定できないなど)。
プロジェクトがミッション クリティカルでない場合は、QML を試すことをお勧めします。QWidget ソリューションほど成熟していませんが、近い将来 (特に Qt5 では) 大幅に改善される予定です。QML がオプションでない場合は、コード / QtDesigner でいくつかのパラメーターを時々設定する必要があります。
また、Mac OS X QAbstractButton サイズの問題 (例: QAbstractButton スタイル シートの問題- この問題を解決するには、Qt ソース コードを変更するか、ボタンの setFlat() パラメーターを設定する必要があります) など、QWidget + Qt スタイル シートに関する既知の問題がいくつかあります。 )。