Russian Qt Forum
Ноябрь 23, 2024, 05:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QML warnings  (Прочитано 6507 раз)
OKTA
Гость
« : Июль 21, 2012, 12:44 »

Товарищи! Кто-нибудь знает, как отключить сабж? А то миллиард warnings, типа
Код:
QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row
, исправляя которые все перестает работать)))
Записан
mutineer
Гость
« Ответ #1 : Июль 21, 2012, 20:17 »

Какбе нельзя у детей Row выставлять горизонтальные привязки. Делай подругому
Записан
OKTA
Гость
« Ответ #2 : Июль 21, 2012, 20:49 »

Какбе без них не работает  Непонимающий
Записан
mutineer
Гость
« Ответ #3 : Июль 21, 2012, 20:51 »

Значит ты пытаешься реализовать свою идею неправильно, либо QML еще не готов к такому. Расскажи что хочешь сделать, покажи код, может есть другие способы
Row сам располагает элементы по горизонтали, поэтому и не дает ставить привязки горизонтальные
Записан
OKTA
Гость
« Ответ #4 : Июль 21, 2012, 22:14 »

Ну вот грубый пример. Якорь работает и дает менять margin, но выдается ошибка эта.
Код:
import QtQuick 1.0

    Row {
        id: row1
        width: 400
        height: 200

        Rectangle {
            id: rectangle1
            x: 49
            y: 37
            width: 115
            height: 127
            color: "red"
        }

        Rectangle {
            id: rectangle2
            y: 1
            width: 100
            height: 100
            color: "cyan"
            anchors.left: rectangle1.right
            anchors.leftMargin: 20
        }
    }

Записан
mutineer
Гость
« Ответ #5 : Июль 21, 2012, 22:58 »

А зачем тебе якорь вообще? Row и без этого пристыкует rectangle2 к rectangle1, расстояние между ними задается при помощи spacing.
А если сам хочешь их друг к другу привязывать, то зачем Row?

Row нужен когда тебе надо расположить элементы горизонтально один за другим, но при этом ты не хочешь руками задавать их позиции. в приведенном примере Row абсолютно бесполезен и не нужен
« Последнее редактирование: Июль 21, 2012, 23:06 от mutineer » Записан
OKTA
Гость
« Ответ #6 : Июль 22, 2012, 10:14 »

А если элементов в Row больше двух и самих Row несколько? Как еще можно манипулировать такими контейнерами, точнее связями между ними (теми же якорями)?
Записан
mutineer
Гость
« Ответ #7 : Июль 22, 2012, 11:38 »

Какой-то абстрактный вопрос. Если елементов в Row больше, то Row все равно разместит их один за другим по горизонтали

Если ты хочешь распологать их все сам (задавая x, y, привязки), то Row не нужен.
Если часть элементов должна располагаться горизонтально друг за другом, а другая часть произвольно, то произвольные вынеси из Row

С конкретным кодом могу помочь конкретнее
Записан
OKTA
Гость
« Ответ #8 : Июль 22, 2012, 12:10 »

ну просто смотри, когда элементы внутри row, мне достаточно выставлять привязки этому row и не беспокоиться о элементах внутри. Типа такого:

Код:
import QtQuick 1.0
Item {
    Row {
        id: row1
        width: 400
        height: 200

        Rectangle {
            id: rectangle1
            x: 49
            y: 37
            width: 115
            height: 127
            color: "red"
        }

        Rectangle {
            id: rectangle2
            y: 1
            width: 100
            height: 100
            color: "cyan"
            anchors.left: rectangle1.right
            anchors.leftMargin: 50
        }
    }

    Row {
        id: row2
        width: 400
        height: 200
        anchors.top: row1.bottom

        Rectangle {
            id: rectangle3
            x: 49
            y: 37
            width: 115
            height: 127
            color: "red"
        }

        Rectangle {
            id: rectangle4
            y: 1
            width: 100
            height: 100
            color: "cyan"
            anchors.left: rectangle3.right
            anchors.leftMargin: 50
        }
    }

}


К тому же, удобно, когда несколько raw не только вертикально располагаются, но и горизонтально.
Записан
mutineer
Гость
« Ответ #9 : Июль 22, 2012, 12:24 »

Блин, ты же сам позиционируешь элементы, Row тут просто не нужен, поставь вместо него Item

Вот объясни зачем Row, если ты элементам координаты внутри него задаешь?
Записан
OKTA
Гость
« Ответ #10 : Июль 22, 2012, 12:26 »

хм, действительно  Смеющийся но все же непонятно, почему ругается, но работает  В замешательстве
Записан
mutineer
Гость
« Ответ #11 : Июль 22, 2012, 12:27 »

Не знаю))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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