Russian Qt Forum
Сентябрь 26, 2018, 10:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QML: Почему нельзя обратиться к типу Window по id?  (Прочитано 516 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 734



Просмотр профиля WWW
« : Январь 10, 2018, 10:47 »

Есть у меня вот такой пример с прямоугольником:

Код:
    Rectangle {
         id: page
         width: 640
         height: 480
         color: "lightgray"

         Text {
             text: "Hello world!"
             anchors.horizontalCenter: page.horizontalCenter
         }
     }

Здесь видно, что внутри Text происходит обращение к вышестоящему Rectangle по id page. И происходит центрирование текста относительно прямоугольника. Все работает правильно.

Теперь делаем то же самое с Window:

Код:
Window {
    id: content
    visible: true
    width: 640
    height: 480

    Text {
        text: "Hello world!"
        anchors.horizontalCenter: content.horizontalCenter
    }
}

И видим, что обращение по id content не работает. Центрирования не происходит.

А если вместо id написать parent, то центрирование работает:

Код:
Window {
    id: content
    visible: true
    width: 640
    height: 480

    Text {
        text: "Hello world!"
        anchors.horizontalCenter: parent.horizontalCenter
    }
}

То есть, по каким-то причинам для типа Window невозможно обращение через id.

Это что за ограничение такое?
Записан

Собираю информацию по крупицам
http://webhamster.ru
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 734



Просмотр профиля WWW
« Ответ #1 : Январь 10, 2018, 19:21 »

В общем, разобрался:

Особенности иерархии при использовании типов Window и ApplicationWindow
Записан

Собираю информацию по крупицам
http://webhamster.ru
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.218 секунд. Запросов: 22.