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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Удаление Qml элемента во время выполнения программы  (Прочитано 6137 раз)
nekitozzz
Гость
« : Июль 05, 2012, 03:01 »

Возможно-ли это? Не просто скрыть, как visible: false, а удалить, чтобы он не реагировал на обработчики OnClick и другие.
« Последнее редактирование: Июль 05, 2012, 11:35 от nekitozzz » Записан
lighting
Гость
« Ответ #1 : Июль 05, 2012, 09:42 »

На OnClick он и так не будет реагировать.
Цитировать
Setting this property to false automatically causes focus to be set to false, and this item will longer receive mouse and keyboard events. (In contrast, setting the opacity to 0 does not affect the focus property and the receiving of key events.)
Записан
nekitozzz
Гость
« Ответ #2 : Июль 05, 2012, 09:46 »

На OnClick он и так не будет реагировать.

Это хорошо, а на другие, особенно собственоручно написанные?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #3 : Июль 05, 2012, 09:46 »

попробовать вызвать destroy() вот пример из документации

Код:
 import QtQuick 1.0

 Rectangle {
     id: rect
     width: 80; height: 80
     color: "red"

     NumberAnimation on opacity {
         to: 0
         duration: 1000

         onRunningChanged: {
             if (!running) {
                 console.log("Destroying...")
                 rect.destroy();
             }
         }
     }
 }
Записан
nekitozzz
Гость
« Ответ #4 : Июль 05, 2012, 10:38 »

попробовать вызвать destroy()

я так понял его нельзя вызывать из другого объекта?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #5 : Июль 05, 2012, 10:50 »

Если честно не пробовал, но что помешает вызвать его из другого объекта ? Код на коленке

Код:
import QtQuick 1.0

Item {
  id:root
 
  width:300
  height: 300
 
  Rectangle {
    id: firstRect
   
    x: 50
    y: 50
    width: 100
    height: 100
   
    color: "red"
  }
 
  Rectangle {
    id: secondRect
    x : 160
    y: 50
    width:100
    height: 100
   
    color: "blue"
   
    MouseArea {
      anchors.fill: parent
     
      onClicked: {
firstRect.destroy()
      }
    }
   
  }
}
Записан
nekitozzz
Гость
« Ответ #6 : Июль 05, 2012, 11:34 »

Спасибо большое, разобрался)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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