Адаптивность на форме Qt Creator

142
12 ноября 2019, 18:00

Такой вопрос, я добавляю динамически на форму следующие компоненты:

struct sbj_window_data{
    QGroupBox *sbj;
    QLabel *sbj_time,*sbj_locate,*sbj_type,*sbj_name,*sbj_week;
};
QVector<sbj_window_data*> dyn_container;

Я записываю их в структуру, и ее помещаю в вектор. sbj_locate должен быть справа в Group box, и для этого я добавил resizeEvent, который пробегается по вектору, и выставляет нужный Label справа в GroupBox.

void MainWindow::resizeEvent(QResizeEvent*){
for(int i=0;i<dyn_container.size();i++){
    dyn_container[i]->sbj_locate->move(dyn_container[i]->sbj->width()-10-dyn_container[i]->sbj_locate->width(),10);
}

} Но при этот Event применяется только для тех Label которые расположены в текущей вкладке, при переключении в других вкладках все изменяется только при изменении окна. Поэтому я добавил следующий сигнал, который при переходе на другую вкладку выполняет то же что и resizeEvent();

QObject::connect(my_tab_widget, SIGNAL(currentChanged(int)), this, SLOT(tabSelected()));

void MainWindow::tabSelected(){
for(int i=0;i<dyn_container.size();i++){
    dyn_container[i]->sbj_locate->move(dyn_container[i]->sbj->width()-10-dyn_container[i]->sbj_locate->width(),10);
}

}

Все работает, но терзают сомнения что это не правильно. Подскажите пожалуйста корректен ли данный код, и если нет, то как лучше сделать?

READ ALSO
strict aliasing и char*

strict aliasing и char*

Пытаюсь понять, в какой мере strict aliasing rule не касается char

130
__attribute__((__packed__))

__attribute__((__packed__))

Не совсем понимаю, что происходит при упаковке, например, структур

151
Qt QMessageBox, как задать имя для кнопки &ldquo;Show details&rdquo;

Qt QMessageBox, как задать имя для кнопки “Show details”

собственно вопрос в шапке: Как задать имя конкретно для кнопки "Show details", с другими кнопками проблем нет

119
hibernate SessionFactory и CriteriBuilder

hibernate SessionFactory и CriteriBuilder

Здраствуйте! Есть сущность

131