Я пытаюсь создать настраиваемое диалоговое окно с сообщением об ошибке с одной кнопкой в QtQuick, но когда я открываю диалоговое окно, кнопка «ОК» отображается за его пределами:
это выглядит так
Когда я снова открываю диалог, он работает нормально, кнопка отображается в нужном месте.
Вот минимальный рабочий пример:
import QtQuick 2.11
import QtQuick.Window 2.11
import QtQuick.Controls 2.4
Window {
visible: true
width: 640
height: 480
Button {
text: "Open Dialog"
onClicked: {
dialog.show("This text can be customized.")
}
Dialog {
id: dialog
standardButtons: Dialog.Ok
title: "Error"
modal: true
function show(txt) {
label.text = txt
open()
}
Label {
id: label
}
}
}
}
Я использую Qt 5.11.3 с QtQuick 2.11, целью сборки является 64-разрядная версия GCC для настольных компьютеров.
Это ошибка? Что я делаю не так?
Item
внутриWindow
? этот элемент здесь не имеет смысла, более того, поскольку он не имеет размера, это может привести к неправильному позиционированию вложенных элементов. ТакжеButton
должно быть в (0,0), так как вы не определяете для него какую-либо позицию. Поэтому похоже, что ваш пример кода не соответствует предоставленному вами изображению. - person folibis   schedule 10.06.2020