33

私は Qt が初めてで、 と の違いがよくQPushButtonわかりQToolButtonません。

QToolButtonaは通常 a で使用され、通常はテキストなしでアイコンのみを表示することは知っていQToolBarますが、両者の主な違いはよくわかりません。

もっと大きな違いはありますか?いつ使用するQPushButton必要がありますQToolButtonか?

最も適切なボタンを使用するためにこれを知りたいのですが、いくつかの GUI テストを実行する必要があり、関連する可能性があります。

4

2 に答える 2

37

QToolButtonQAction: QMenu、などに焦点を当てた QtWidgets モジュールのウィジェットのグループの一部ですQToolBarQPushButtonボタンだけです。その結果、QToolButtonの内部は よりもはるかに複雑になりQPushButtonます。例の (完全ではない) リスト:

  • QToolButtonと緊密に統合されるように設計されていQActionます。ツール ボタンのデフォルト アクションのアイコン、テキストなどを変更すると、ボタンに反映されます。
  • ツールボタンのコンテンツのレイアウト(アイコンのみ、テキストのみ、アイコンの横のテキスト、アイコンの下のテキスト)を変更できます。
  • QToolButtonデフォルト アクションをトリガーする代わりに、サイドバーのホット ゾーンがメニューを開く「分割」ボタン タイプをサポートします。
  • ツール ボタンはアクションを追加することで直接作成できますがQToolBar、他のウィジェットは明示的に追加する必要があります。

また、次の点にも注意してください。

  • QToolButtonQPushButtonは、狭い行またはグリッドに表示されることを反映して、デフォルトの内部余白が よりも小さくなっています。QPushButtonオプションのアイコン付きのテキストを含む「OK」/「閉じる」タイプのボタンに適しています。
  • QToolButtonは通常、アイコンが必要です。A にQPushButtonは常にテキストが必要です。
于 2016-07-26T03:22:29.727 に答える
6

Qt ドキュメントから: http://doc.qt.io/qt-5/qtoolbutton.html#details

「ツール ボタンは、特定のコマンドまたはオプションにすばやくアクセスできる特別なボタンです。通常のコマンド ボタンとは対照的に、ツール ボタンには通常、テキスト ラベルは表示されず、代わりにアイコンが表示されます。」

GUI にアイコンのみのシンプルなボタンが必要な場合は、QToolButton を使用します。しかし、クラシック ボタンが必要な場合は、QPushButton を使用します。

大きな違いはありませんが、

于 2016-07-25T23:13:53.413 に答える