Você está aqui: Qt ::: Classes, Controles e Componentes ::: QMainWindow

Como retornar ou definir as dimensões de uma janela QMainWindow usando size() e resize

Quantidade de visualizações: 6773 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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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():

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void JanelaPrincipal::on_pushButton_clicked()
{
  // vamos definir a largura e altura da janela
  this->resize(200, 150);
}


Link para compartilhar na Internet ou com seus amigos:

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Fórmula de Hazen-Williams

A fórmula de Hazen-Williams (1903) é resultado de um estudo estatístico com grande número de dados experimentais, recomendada para escoamento turbulento de transição, água a 20ºC e diâmetro maior ou igual a 50mm.

Calcule o diâmetro de uma tubulação de aço (C=90), com 1.000m de comprimento e perda de carga de 51m, cuja vazão é de 200l/s.

A) Aproximadamente 0,3m de diâmetro.

B) Aproximadamente 0,4m de diâmetro.

C) Aproximadamente 0,1m de diâmetro.

D) Aproximadamente 0,5m de diâmetro.

E) Aproximadamente 0,2m de diâmetro.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

O projeto de instalação hidrossanitária

É fundamental que o projeto hidrossanitário esteja de acordo com as legislações vigentes a fim de promover, principalmente, a segurança.

De modo geral, um bom projeto hidrossanitário deve ser dimensionado objetivando atender a:

A) demandas da edificação em um período de, no máximo, 10 anos.

B) demandas da edificação em um período de até 10-20 anos.

C) demandas da edificação em um período de até 20-30 anos.

D) demandas da edificação em um período de até 40-50 anos.

E) demandas da edificação em um período de mais de 50 anos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Formas: Confecção e colocação

As formas e os escoramentos possuem diversos elementos, sobre eles, assinale a alternativa correta.

A) As travessas têm a finalidade de impedir que os painéis se abram por ocasião do lançamento e adensamento do concreto.

B) As cunhas são colocadas abaixo do par de pranchas, servindo para distribuir as tensões nas bases, principalmente na anulação do efeito do puncionamento.

C) O chapuz apoia o painel da laje. São colocados de 50,0 em 50,0 cm. Servem para evitar que o painel deforme por flexão (flecha).

D) Os pontaletes, também chamados de prumos ou pés-direitos, são os elementos de apoio da forma e devem ter diâmetro mínimo de 8,0 cm ou 5,0x7,0 cm.

E) Os painéis são feitos de madeira de pinho, pregadas de cutelo, podendo também ser usados em formato de caibros de 5,0x7,0 cm ou 7,0x7,0 cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

As bacias hidrográficas do Brasil, em razão da sua extensão, abarcam ainda países vizinhos ao território brasileiro. São exemplos de bacias localizadas no Brasil e em partes dos países vizinhos:

A) Bacia Amazônica e São Francisco.

B) Bacia do Uruguai e Nordestina.

C) Bacia do São Francisco e Platina.

D) Bacia Amazônica e Platina.

E) Bacia do Tocantins e Paraguaia.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

A responsabilidade moral

Na relação moral e ética, pode-se perceber que, enquanto as inquietações com a esfera conceitual dos valores regentes do comportamento humano estão localizadas no âmbito da ética, as questões práticas desse campo pertencem à esfera da moral, que governa a alma de cada indivíduo. Portanto, diferenciar moral e ética significa dizer que:

A) moral é a aplicação da ética.

B) moral é a prática da ética em nossa sociedade.

C) não podemos diferenciar, pois são idênticas.

D) moral é o conjunto de valores, e ética é a reflexão dos mesmos.

E) moral e ética são antagônicas.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de Qt

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 24 usuários muito felizes estudando em nosso site.