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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QStatusBar - проблемы с отрисовкой  (Прочитано 1967 раз)
once_again_abc
Гость
« : Октябрь 22, 2013, 04:14 »

никогда раньше с таким поведением не сталкивался. Кьют версии 4.6.2

Создаю пустой class LabellerStatusBar: public QStatusBar

Код:
LabellerStatusBar::LabellerStatusBar( QWidget* pParent )
    : QStatusBar( pParent )
{
    Q_ASSERT( pParent != 0 );

    m_pStatusLabel = new QLabel( tr("          "), this );
    m_pStatusLabel->setAlignment( Qt::AlignHCenter );
    m_pStatusLabel->setMinimumSize( m_pStatusLabel->sizeHint() );
    m_pStatusLabel->setFrameShape( QFrame::StyledPanel );

    m_pStatusExtLabel = new QLabel( this );
    m_pStatusExtLabel->setIndent( 3 );
    m_pStatusExtLabel->setFrameShape( QFrame::StyledPanel );

    addWidget( m_pStatusLabel );
    addWidget( m_pStatusExtLabel, 1 );

    setSizeGripEnabled( true );
}

в родителе его использую:

Код:
Labeller::Labeller() 
    : QMainWindow()
{
    m_pMenuBar = new LabellerMenuBar( this );
    m_pStatusBar = new LabellerStatusBar( this );

    m_pCentralWidget = new QScrollArea( this );
}

void Labeller::init( void )
{
    setMouseTracking( true );

    setMenuBar( m_pMenuBar );
    setStatusBar( m_pStatusBar );

    setCentralWidget( m_pCentralWidget );

    QRect screenGeometry( QApplication::desktop()->screenGeometry( this ) );
    setGeometry( screenGeometry.center().x(), screenGeometry.center().y(), scaledWindowWidth(), scaledWindowHeight() );

    move( screenGeometry.center() - rect().center() - QPoint( 0, menuBar()->height() / 2 ) );
}


казалось бы - все очень просто. тем не менее, при ресайзе окна статус бар иногда исчезает. поведение одинаково и в Виндовс и в Линукс. при этом статус типы нормально отображаются в том месте, где должен быть нарисован статус бар. что я делаю не так? это бак Кьюта указанной версии? Если второе, то как это поправить? Использовать 4.8 или 5.1 версию я не могу к сожалению.
Записан
once_again_abc
Гость
« Ответ #1 : Октябрь 23, 2013, 07:12 »

может быть как-то форсировать перерисовку статусбара после апдейта всего приложения?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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