1

一部のツールバーをQ3ToolBars(QToolButtonが明示的に追加されている)からQ4ツールバー(代わりにアクションがすぐに追加されている)に変更しました。

古いツールボタンの周囲にはきれいな輪郭がありましたが、これは新しいバージョンでは表示されません。Q4ツールバーのQActionは、アイコンの列のように見えます。新しいバージョンで「ボタン」のスタイルを変更して(これらのアクションをそのように見なすことができると仮定して)、概要を示す方法はありますか?QToolBarリファレンスを調べましたが、toolButtonStyle()関数は、アイコンやテキストなどを表示するかどうかでのみ機能するように見えます。

...または、実際のツールボタンやQPushButtonを作成して、addWidget()を使用する必要がありますか?

4

2 に答える 2

1

特定のアクションに関連付けられたウィジェットには、QToolBar::widgetForAction(Qt 4.2以降)からアクセスできます。したがって、アクションをこのメソッドに渡し、QWidgetそれによって返されるsを取得し、それらをに変換してQToolBar、通常どおりに処理することができます(コードはテストされていません)。

// ...

auto toolButton =
    static_cast<QToolButton *>(
        m_ui.toolbar->widgetForAction(m_ui.my_Action));

// Will make the toolButton always appear raised:
toolButton->setAutoRaise(false);

// ...

私がテストしている限り、いくつかの方法は機能しない可能性があります(つまりQWidget::hide)ので、独自のテストを行ってください。

于 2015-08-12T18:13:37.313 に答える
0

はい、もちろん、QToolButtonの外観を2つの異なる方法で編集できます。

  1. void QWidget :: setStyleSheet(const QString&)を使用してスタイルシートを設定できます
  2. 新しいpaintEvent関数を使用してQToolButtonsクラスを再実装できます。この関数では、ボタンの外観を正確に設定できます。
于 2012-09-05T14:51:52.157 に答える