Existe uma maneira simples para restaurar Widget tamanhos em Qt?
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.
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 .