Есть ли простой способ восстановить размеры виджетов в Qt? - PullRequest
1 голос
/ 25 марта 2009

Я ищу способ сохранить размер окон в приложении Qt.

Я видел, что есть возможность использовать следующий метод для каждого виджета:

saveGeometry()

Но на самом деле, я не считаю этот метод удовлетворительным. Есть ли что-то вроде setAutosaveGeometry(True)?

Я особенно ищу способ хранения ширины столбцов таблицы.

Ответы [ 3 ]

4 голосов
/ 25 марта 2009

Класс QHeaderView также имеет два метода для сохранения и восстановления его состояния в QByteArray и из него: saveState () и restoreState ()

Заголовки табличного представления доступны через методы horizontalHeader () и verticalHeader ().

0 голосов
/ 25 марта 2009

Смотрите документацию Qt по Восстановление геометрии окна .

0 голосов
/ 25 марта 2009

saveGeometry возвращает значение QByteArray, его нужно где-то сохранить.

Пример:

void MainWindow::closeEvent(QCloseEvent *event){
    QSettings settings;

    settings.setValue("geometry", saveGeometry());
}

Для чтения геометрии вызовите функцию restoreGeometry:

MainWindow::MainWindow(QWidget *parent):QMainWindow(parent) {
    [...]

    QSettings settings;

    restoreGeometry(settings.value("geometry").toByteArray());

    [...]
}

Чтобы узнать больше о геометрии окна, прочитайте документацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...