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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Rectangle + grid  (Прочитано 4945 раз)
BuRn
Гость
« : Февраль 10, 2013, 13:20 »

Есть несколько Rectangle-ов, каждый представляет собой кнопку, расположены они в гриде. Делаю что - то типа калькулятора.Сделал так, что бы при нажатии на кнопку она увеличивалась  и возвращала свое состояние в исходное. Но вот столкнулся с проблемой , что сама кнопка, при увеличении находится не поверх остальных , т.е. кнопка которая находится ниже , перекрывает кнопку которая увеличивается, хотелось бы , что бы мой ректангл, увеличивался в размерах и перекрывал все остальные элементы, со всех сторон. Спасибо
Записан
twp
Гость
« Ответ #1 : Февраль 10, 2013, 13:54 »

для этого достаточно установить свойство кнопки z = 1 и потом вернуть обратно в 0
Записан
BuRn
Гость
« Ответ #2 : Февраль 10, 2013, 13:55 »

для этого достаточно установить свойство кнопки z = 1 и потом вернуть обратно в 0
Потом это когда ?
Вы предлагаете перед анимацией устанавливать свойство и после его восстанавливать в исходное состояние ?
Записан
twp
Гость
« Ответ #3 : Февраль 10, 2013, 13:56 »

для этого достаточно установить свойство кнопки z = 1 и потом вернуть обратно в 0
Вы предлагаете перед анимацией устанавливать свойство и после его восстанавливать в исходное состояние ?
да
Записан
BuRn
Гость
« Ответ #4 : Февраль 10, 2013, 13:59 »

для этого достаточно установить свойство кнопки z = 1 и потом вернуть обратно в 0
Вы предлагаете перед анимацией устанавливать свойство и после его восстанавливать в исходное состояние ?
да
Эм... ну тогда не понятно с какого края устанавливать Z , ибо в 1 сроке у меня 3 элемента, если я пробую устанвливать у одного из них Z в дизайнере QML, тогда тот элемент на который я установил Z перекрывает все, а рядом элементы, получаются под ним...
Записан
twp
Гость
« Ответ #5 : Февраль 10, 2013, 18:04 »

что бы мой ректангл, увеличивался в размерах и перекрывал все остальные элементы, со всех сторон.
Разве это не то что нужно?
Записан
BuRn
Гость
« Ответ #6 : Февраль 11, 2013, 19:50 »

что бы мой ректангл, увеличивался в размерах и перекрывал все остальные элементы, со всех сторон.
Разве это не то что нужно?
Проблема в том , что я не могу сделать так, что бы в гриде каждый элемент перекрывал при увеличении друг друга, если у меня удается сделать 1 какой - то элемент, то при нажатии на рядом стоящий, он увеличивается, но край или даже несколько краев находится под рядом стоящими элементами.Стоит сделать другой элемент , поверх остальных , рядом элементы ведут себя не так как нужно
Записан
twp
Гость
« Ответ #7 : Февраль 11, 2013, 21:04 »

я что-то не совсем понял. При нажатии на кнопку ты устанавливаешь ей z = 1 и после отпускания кнопки возвращаешь в 0 - так? Или ты хочешь прям в дизайнере установить z? Может проще просто посмотреть документацию где на пальцах картинках объясняется когда объекты перекрывают друг-друга и как задать нужное перекрытие свойством z
Записан
OKTA
Гость
« Ответ #8 : Февраль 11, 2013, 21:47 »

Разве не то?

Код:
import QtQuick 1.0

Rectangle {
    height: 500
    width: 500



    GridView {
        id: view
        width: 300;
        height: 200
        cellWidth: 100;
        cellHeight: 100

        model: ListModel {
            ListElement {}
            ListElement {}
            ListElement {}
            ListElement {}
            ListElement {}
            ListElement {}
        }

        delegate: Rectangle {
            color: "magenta"
            width: 100
            height: 100
            border.color: "black"
            Behavior on width {
                NumberAnimation {
                    duration: 1000
                }
            }
            Behavior on height {
                NumberAnimation {
                    duration: 1000
                }
            }

            MouseArea {
                anchors.fill: parent
                hoverEnabled: true
                onEntered: {
                    parent.width = 200
                    parent.height = 200
                    parent.z = 28
                }
                onExited: {
                    parent.width = 100
                    parent.height = 100
                    parent.z = 0
                }
            }

        }

        focus: true
    }

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


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