Ajustar tamanho da tela MainWindow QT

1,369 views
Skip to first unread message

caique.eletrica

unread,
Feb 10, 2014, 11:47:48 AM2/10/14
to python...@googlegroups.com
Olá pessoal, estou criando um programa com interface gráfica feita no Qt designer. No meu MainWindow tenho várias abas onde é apresentado gráficos, tabelas...etc.

O meu problema é que de um pc para outro essa janela as vezes não apresenta todo conteúdo da tela. Quando eu ajusto o tamanho da tela eu gostaria que o conteúdo acompanhasse o tamanho da tela. Outra coisa tb que gostaria que aparecesse era as barras de rolagens que não aparece.

Alguém sabe qual ou quais ferramentos tenho que utilizar para esse problema??

Att, 
Caique,

Helder

unread,
Feb 10, 2014, 11:55:08 AM2/10/14
to python...@googlegroups.com
Para que os widgets acompanhem o tamanho da tela vc deve organizá-los com os layouts. Tem uma parte na barra de widgets só com eles.

Vc quer barra de rolagem onde? De qualquer modo tem um widget chamado scrollarea...


--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para python-brasi...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Att,

Helder C. R. de Oliveira


Caíque Soares

unread,
Feb 10, 2014, 12:23:59 PM2/10/14
to python...@googlegroups.com
Desculpe a ignorância Helder, mas como o faço isso: Organizá-los com os layouts? O que acontece é que uma outra pessoa que desenhou a interface com todos os widgets, e eu estou fazendo a programação do programa em si. O que faço é abrir o qtdesigner e verificar quais são os widgets e criar as funções com os sinais necessários e quando necessário faço uma alteração ou outra na interface.

Caíque Soares

unread,
Feb 10, 2014, 12:36:10 PM2/10/14
to python...@googlegroups.com
Pelo que eu percebi, em computadores com maior resolução de tela, aparece a interface completa e em pc de menor resolução não aparece tudo.

Helder

unread,
Feb 10, 2014, 1:08:17 PM2/10/14
to python...@googlegroups.com
Caíque, os layouts são como qualquer outro widget.
A diferença é que vc pode colocar widgets dentro dos layouts.
Recomendo vc criar um novo arquivo no QtDesigner e colocar um layout na janela. Depois coloque widgets dentro desse layout.

Se vc procurar no youtube vai achar alguns videos mostrando isso.

Flw.

Alysson Bruno

unread,
Feb 10, 2014, 2:01:29 PM2/10/14
to python-brasil
Normalmente vc usa um CTRL+5 para fazer uma layout geral básico (se
quebrar o seu "layout" vc vai ter que trabalhar com os tais
componentes citados pelo Helder.
paz e amor (love and peace),

Alysson Bruno
===============================================
Palmas(TO)
Brasil

Blog: http://abruno.com
Twitter: http://twitter.com/alyssonbruno
Facebook: http://www.facebook.com/ProfessorAlyssonBruno

=================================================================
Meu alterego Escritor:

Leia alguns contos que escrevo, não esqueça de me dar sua opinião:
http://goo.gl/Wjn4p

=================================================================

Jotage Sales

unread,
Feb 22, 2014, 7:03:08 PM2/22/14
to python...@googlegroups.com, caique....@gmail.com
Olá Caique, cara conforme o pessoal te falou a solução mais adequada para seu problema é o uso dos layouts
são eles:
- layout vertical -QvBoxlayout
- layout horizontal-QhBoxlayout
- formLayout -QhBoxlayout - (este é mais indicado quando você precisa criar formulários)
- layout Grid -QGridLayout

segue um exemplo de código usando layout 

att
Jotagê Sales

'''
Created on 21/02/2014

@author: jotage
'''
import sys
from PyQt4.QtGui import *

class tela(QWidget):

    def __init__(self):
        super(tela, self).__init__(None)
        
        #criando os campos
        Nome = QLineEdit(self)
        sobrenome = QLineEdit(self)
        
        #criando o layout que vai comportar os campos
        vbox = QVBoxLayout()
        vbox.addWidget(Nome)
        vbox.addWidget(sobrenome)
        
        #setando o layout na tela inteira
        self.setLayout(vbox)

if __name__ == '__main__':
    root = QApplication(sys.argv)
    app = tela()
    app.show()
    root.exec_() 
Reply all
Reply to author
Forward
0 new messages