Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: HirurG. от Ноябрь 13, 2013, 09:35



Название: [РЕШЕНО] Свойство visible в QSpinBox
Отправлено: 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


Название: Re: Свойство visible в QSpinBox
Отправлено: GreatSnake от Ноябрь 13, 2013, 10:07
Пока родительское окно не будет показано ( QWidget::show()/setVisible( true ) ) все его не спрятанные потомки ( QWidget::hide()/setVisible( false ) ) будут спрятаны.


Название: Re: Свойство visible в QSpinBox
Отправлено: HirurG. от Ноябрь 13, 2013, 10:20
Спасибо! Я так и думал в принципе, ради этого и в деструкторе лишний раз проверил свойство. Видимо там окно уже спрятано, поэтому всё равно visible == false.
В общем всё понятно, спасибо!  :)