Você está aqui: Qt ::: Classes, Controles e Componentes ::: QMainWindow |
Como retornar ou definir as dimensões de uma janela QMainWindow usando size() e resizeQuantidade de visualizações: 6878 vezes |
Em algumas situações precisamos obter ou definir as dimensões de uma janela QMainWindow. Para obter as dimensões da janela, ou seja, sua largura e altura, podemos usar o método size(). Este método retorna um objeto da classe QSize, que por sua vez possui os métodos width(), que retorna a largura da janela, e height(), que retorna a altura da janela. Veja um trecho de código no qual obtemos tanto a largura quanto a altura de uma janela QMainWindow: void JanelaPrincipal::on_pushButton_clicked() { // vamos obter um objeto QSize representando as dimensões internas // da janela QSize dimensoes = this->size(); // vamos obter a largura da janela int largura = dimensoes.width(); // vamos obter a altura da janela int altura = dimensoes.height(); // vamos exibir o resultado QMessageBox::information(this, tr("Mensagem"), tr("Largura: %1; Altura: %2").arg(largura).arg(altura)); } É claro que o código acima (detalhado para fins de melhor entendimento) pode ser simplificado. Veja: void JanelaPrincipal::on_pushButton_clicked() { // vamos obter a largura da janela int largura = this->size().width(); // vamos obter a altura da janela int altura = this->size().height(); // vamos exibir o resultado QMessageBox::information(this, tr("Mensagem"), tr("Largura: %1; Altura: %2").arg(largura).arg(altura)); } Note que as dimensões retornadas pelo método size() se referem às dimensões internas da janela, ou seja, excluindo as bordas e a barra de títulos. A largura e altura da janela podem ser definidas por meio do método resize(). Este método possui duas assinaturas: void resize(const QSize&) void resize(int w, int h) Veja que na primeira versão nós passamos um objeto da classe QSize, enquanto na segunda versão nós fornecemos os valores inteiros referentes à largura e altura da janela. Veja um exemplo usando a sobrecarga que usa um objeto QSize: void JanelaPrincipal::on_pushButton_clicked() { // vamos definir a largura e altura da janela // primeiro criamos um objeto da classe QSize QSize tamanho(200, 150); // agora definimos as dimensões internas da janela this->resize(tamanho); } Veja agora o mesmo efeito passando apenas valores inteiros para o método resize(): void JanelaPrincipal::on_pushButton_clicked() { // vamos definir a largura e altura da janela this->resize(200, 150); } |
![]() |
Veja mais Dicas e truques de Qt |
Dicas e truques de outras linguagens |
Java - Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra Linear |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |