Pergunta

Eu estou procurando uma maneira de preservar o tamanho das janelas em um aplicativo de Qt.

Eu vi que existe a possibilidade de utilizar o método a seguir para cada widget:

saveGeometry()

Mas, realmente, eu não encontrar este método satisfazendo a. Existe algo parecido setAutosaveGeometry(True)?

Estou especialmente procurando uma maneira de armazenar as larguras das colunas da tabela.

Foi útil?

Solução

A classe QHeaderView também tem dois métodos para salvar e restaurar seu estado de e a partir de um QByteArray: saveState () e restoreState ()

cabeçalhos de uma vista tabela são acessíveis através da horizontalHeader () e métodos verticalHeader ().

Outras dicas

saveGeometry retorna um valor QByteArray, você precisa armazená-lo em algum lugar.

Exemplo:

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

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

Para ler a chamada geometria a função restoreGeometry:

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

    QSettings settings;

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

    [...]
}

Para saber mais sobre a geometria da janela por favor leia a documentação

Consulte a documentação do Qt em Restaurar Geometry de um Janela .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top