Qt Criança Posicionamento Da Janela
-
09-06-2019 - |
Pergunta
Existe uma maneira de especificar uma criança inicial da janela de posição em Qt?
Eu tenho uma aplicação que roda em Linux e Windows e parece que o comportamento padrão do Qt permite que a Janela de Gerenciador de determinar a colocação da criança windows.
No Windows, isso está no centro da tela, o pai é o que parece razoável.
No Linux, GNOME (metacity) é sempre no canto superior esquerdo, que é irritante.Eu não posso encontrar qualquer janela de gerenciador de preferências para o metacity que me permitem o controle de posicionamento da janela então, eu gostaria de substituir esse comportamento.
Solução
Chamada de movimento(x, y) método para a criança janela antes do show().Os valores padrão para o x e y são 0, de modo que é por isso que ele aparece no canto superior esquerdo.
Você também pode usar a posição da janela principal para calcular uma posição relativa para a criança.
Outras dicas
Em geral, eu recomendo que não forçando a janela de posições, a menos que seu aplicativo tem alguns muito especiais janelas requisitos.É o gerenciador de janelas do trabalho para determinar onde novas janelas são colocadas e a maioria deles de fazer um bom trabalho.Se o MetaCity não é escolher uma boa posição, em seguida, que é o seu problema.
Se você fazer o seu próprio posicionamento da janela você pode obter um melhor resultado, então, o que um pobre janela de gerenciador de daria, mas você também vai perder os inteligentes janela de algoritmos de posicionamento disponível em mais avançada de gestores de janelas.