Python - Marco para ventana PyQt5

 
Vista:
sin imagen de perfil
Val: 24
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Marco para ventana PyQt5

Publicado por Yago (12 intervenciones) el 21/04/2020 00:52:28
Muy buenas noches. Me gustaría saber si existe algún comando o forma de incorporar a la pantalla una especie de marco que recoja todo el contenido de la ventana, similar un QTabWidget pero sin pestañas. El resultado deseado sería el de un fondo blanco rodeado por un marco gris.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Marco para ventana PyQt5

Publicado por tincopasan (1082 intervenciones) el 21/04/2020 03:30:38
Hola:
es bastante simple, normalmente se usa qgroupbox, te doy un ejemplo, pero pyqt tiene una muy buena documentación, te recomiendo que la leas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#-*- coding: utf -8 -*-
 
from PyQt5.QtWidgets import QApplication,QMainWindow
from PyQt5.QtWidgets import *
 
import sys
 
class Ventana(QMainWindow):
 
    def __init__(self):
        QMainWindow.__init__(self)
        self.resize(800,600)
        groupbox = QGroupBox("Ejemplo",self)
        groupbox.resize(600,400)
        groupbox.move(100,100)
        groupbox.setAutoFillBackground(True)
        groupbox.setStyleSheet("background-color: white; border: 3px solid gray ")
 
 
app=QApplication(sys.argv)
Form_principal = Ventana()
Form_principal.show()
app.exec_()

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 24
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Marco para ventana PyQt5

Publicado por Yago (12 intervenciones) el 21/04/2020 09:40:22
Agradezco tu respuesta pero no es exactamente lo que estaba buscando. En tu propuesta se obtiene un GroupBox de línea ligeramente más gruesa. Yo me refería al aspecto de la QTab. Es cierto que puedo engrosar la línea de la caja para conseguir la apariencia, pero aun y así no me aparecería la fina línea divisoria entre ambas regiones. Adjunto una imagen para no dejar lugar a dudas donde se aprecia el marco (o fondo) gris claro y la fina línea divisoria de un gris más fuerte alrededor del contenido.

i

Siento no haberme explicado con total claridad.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Marco para ventana PyQt5

Publicado por Yago (12 intervenciones) el 21/04/2020 11:32:35
He averiguado que tal vez podría lograrse mediante el uso de QFrame. Con esta función consigo la forma de la caja y el llenado de blanco, pero no consigo delimitar el contenido en su interior; es decir, no conozco forma de añadir los Widgets como contenido.

Si alguien fuera tan amable de resolverme esta última duda, me haría un gran favor.
De nuevo, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Marco para ventana PyQt5

Publicado por tincopasan (1082 intervenciones) el 21/04/2020 13:38:42
se ve que no has entendido lo que te dije y tampoco lo elemental de pyqt, además como no has puesto ni una línea de código, no voy a hacer a lo que buscas, simplemente agrego un qframe y pongo 1 boton en cada lugar.
Basicamente los widgets comparten los mismos métodos y propiedades. Te repito, hay que leer la documentación.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#-*- coding: utf -8 -*-
 
from PyQt5.QtWidgets import QApplication,QMainWindow
from PyQt5.QtWidgets import *
import sys
 
 
class Ventana(QMainWindow):
 
    def __init__(self):
 
        QMainWindow.__init__(self)
        self.resize(800,600)
        groupbox = QGroupBox("Ejemplo",self)
        groupbox.resize(600,400)
        groupbox.move(100,100)
        groupbox.setAutoFillBackground(True)
        groupbox.setStyleSheet("background-color: white; border: 3px solid gray ")
 
        frame = QFrame(groupbox)
        frame.resize(300,200)
        frame.move(150,100)
        frame.setStyleSheet('background: rgb(235,225,190);border : 2px solid red')
 
        self.boton1= QPushButton("Boton 1",frame)
        self.boton1.move(150,100)
        self.boton1.setStyleSheet('background: rgb(255,255,255);border : 2px solid blue')
        self.boton1.clicked.connect(self.imprimir)
 
        self.boton2= QPushButton("Boton 2",groupbox)
        self.boton2.move(50,50)
        self.boton2.clicked.connect(self.imprimir)
 
        self.boton3= QPushButton("Boton 3",self)
        self.boton3.move(50,50)
        self.boton3.clicked.connect(self.imprimir)
 
    def imprimir(self):
        btn_txt = self.sender().text()
        print("Presionaste:  " ,btn_txt)
 
 
app=QApplication(sys.argv)
Form_principal = Ventana()
Form_principal.show()
app.exec_()

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Marco para ventana PyQt5

Publicado por Yago (12 intervenciones) el 21/04/2020 13:40:17
Eso haré entonces. Muchas gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar