QT - Отключение QDialog's “?” кнопка

Я создаю экземпляр QDialog и слева от 'x' (близкая) кнопка, которую я имею также'?' кнопка. Как я могу отключить это'?'?

20
задан eric 22 November 2014 в 13:42
поделиться

3 ответа

Измените флаги окна, например, в конструкторе:

this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
40
ответ дан 29 November 2019 в 23:33
поделиться

Из документации Qt 4.6 QDialog:

 QDialog :: QDialog (QWidget * parent = 0, Qt :: WindowFlags f = 0)

Создает диалог с родительским родительским .

Диалог всегда является виджетом верхнего уровня, но если у него есть родительский элемент, его расположение по умолчанию центрируется над родительским элементом. Он также будет разделять запись родительской панели задач.

Флаги виджета f передаются конструктору QWidget . Если, например, вам не нужна кнопка ** Что это в строке заголовка диалогового окна **, передайте Qt :: WindowTitleHint | Qt :: WindowSystemMenuHint в f .

См. Также QWidget :: setWindowFlags () .

5
ответ дан 29 November 2019 в 23:33
поделиться

Если вы просто хотите отключить кнопку, вы можете вызвать setEnabled (bool) , но я сомневаюсь, что об этом спрашивают.

Если вы хотите удалить эту кнопку, см. Ниже:

QDialog предназначен для использования QDialogButtonBox в качестве кнопок, которые отображаются в диалоговом окне. Вы можете использовать средства доступа, доступные в QDialogButtonBox , чтобы отключить кнопки, которые вам не нужны (а также включить другие).

Например (из документации, ссылка на которую приведена выше):

findButton = new QPushButton(tr("&Find"));
findButton->setDefault(true);

moreButton = new QPushButton(tr("&More"));
moreButton->setCheckable(true);
moreButton->setAutoDefault(false);

buttonBox = new QDialogButtonBox(Qt::Vertical);
buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);

Если вы не знаете о кнопочном блоке, я предполагаю, что дизайнер автоматически добавил его для вас, и у него должно быть имя, делающее его доступным. Также должны быть свойства (флажки), которые вы можете проверить, чтобы контролировать, какие кнопки доступны по умолчанию.

0
ответ дан 29 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: