1. ホーム
  2. qt

[解決済み] Qtダイアログのタイトルバーにある"? "ヘルプボタンを隠す/削除するには?

2023-02-22 18:05:26

質問

Qtダイアログを使用しています。 私はヘルプボタンを隠したり削除したりする必要があります。しかし、私はどこに正確に私が彼のヘルプボタンへのハンドルを得るかを見つけることができません。Qtウィンドウの特定のフラグかどうかはわかりません。

どのように解決するか?

デフォルトでは Qt::WindowContextHelpButtonHint フラグがダイアログに追加されます。 これを制御するには ウィンドウフラグ パラメータで制御できます。

例えば タイトルヒント システムメニュー のフラグを実行することで

QDialog *d = new QDialog(0, Qt::WindowSystemMenuHint | Qt::WindowTitleHint);
d->exec();

を追加すると Qt::WindowContextHelpButtonHintを追加しました。 フラグを追加すると、ヘルプボタンが表示されるようになります。

PyQtでは、こうすることができます。

from PyQt4 import QtGui, QtCore
app = QtGui.QApplication([])
d = QtGui.QDialog(None, QtCore.Qt.WindowSystemMenuHint | QtCore.Qt.WindowTitleHint)
d.exec_()

ウィンドウフラグに関するより詳しい情報は WindowType enum を参照してください。