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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Удаление компонентов из меню  (Прочитано 2686 раз)
Shurick
Гость
« : Июль 01, 2014, 11:06 »

Приветствую.

На Qt 5.2 & Qt Quick 2.2 cтолкнулся с такой проблемой:
Если я хочу динамичеки удалить объект из пункта контекстного меню, то объект удаляется, но весь виджет не перерисовыается и объект исчезает только когда перересуются другие объекты.
Пример:
Код:
import QtQuick 2.2
import QtQuick.Window 2.1
import QtQuick.Controls 1.1

Window {
    visible: true
    width: 360
    height: 360

    Rectangle {
        id: stub
        x: 10; y: 10
        width: 80; height: 80
        border.color: "black"
    }

    Rectangle {
        id: rect
        x:50; y:50
        width: 100; height: 100
        color: "blue"
        border.width: 2
        border.color: "red"

        Menu {
            id: menu
            MenuItem {
                text: "Test"
                onTriggered: rect.destroy()
            }

        }

        MouseArea {
            anchors.fill: parent
            onClicked: {
//                rect.destroy()
                anchors.fill = undefined
                menu.popup()
            }
        }
    }
}

Если вызвать меню menu и выбрать пункт Test nо квадрат rect исчезнет с экрана только когда мы изменим, к примеру, размер окна.

Это бага или фича? И как ее лечить?

P.S.:
OS: Ubuntu 14.04
« Последнее редактирование: Июль 01, 2014, 13:08 от Shurick » Записан
navrocky
Moderator
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #1 : Июль 01, 2014, 13:03 »

Не наблюдаю в твоем примере такого. Qt 5.3
Записан

Гугль в помощь
Shurick
Гость
« Ответ #2 : Июль 01, 2014, 13:07 »

А операционка какая?
Записан
navrocky
Moderator
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #3 : Июль 01, 2014, 17:38 »

А операционка какая?

OpenSuse 13.1 x64, Qt 5.3.1

Думаю не в операционке дело, а просто пофиксили.
Записан

Гугль в помощь
Shurick
Гость
« Ответ #4 : Июль 02, 2014, 06:56 »

Попробовал на чистой машине: Ubuntu 14.04 x64 with Qt 5.3.1(Last version via online installer) - так же себя ведет. Еще и меню отображается через раз.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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