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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Свойство visible в QSpinBox  (Прочитано 2718 раз)
HirurG.
Гость
« : Ноябрь 13, 2013, 09:35 »

Здравствуйте! Столкнулся с проблемой считывания свойства visible из компонента QSpinBox.
Метод isVisible() во всех случаях возвращает false. Например, в коде
Код:
#include "test.h"

test::test(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);

bool f1 = ui.spinBox->isVisible();

ui.spinBox->setVisible(false);
bool f2 = ui.spinBox->isVisible();

ui.spinBox->setVisible(true);
bool f3 = ui.spinBox->isVisible();

return;
}

test::~test()
{
bool f4 = ui.spinBox->isVisible();
return;
}
все f равны false.
Подскажите, что это может быть и как с этим жить?  Улыбающийся

UPD.
Microsoft Visual Studio 2010
Qt 4.8.3
« Последнее редактирование: Ноябрь 13, 2013, 10:21 от HirurG. » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Ноябрь 13, 2013, 10:07 »

Пока родительское окно не будет показано ( QWidget::show()/setVisible( true ) ) все его не спрятанные потомки ( QWidget::hide()/setVisible( false ) ) будут спрятаны.
« Последнее редактирование: Ноябрь 13, 2013, 10:09 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
HirurG.
Гость
« Ответ #2 : Ноябрь 13, 2013, 10:20 »

Спасибо! Я так и думал в принципе, ради этого и в деструкторе лишний раз проверил свойство. Видимо там окно уже спрятано, поэтому всё равно visible == false.
В общем всё понятно, спасибо!  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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