PyQt5 QColorDialog - Definindo a borda para os rótulos filho presentes dentro dela
Neste artigo, veremos como podemos definir a borda dos rótulos QColorDialog que estão presentes nele, ou seja, os rótulos filhos. QColorDialog é o widget do tipo pop-up no PyQt5 usado para selecionar e criar cores. A caixa de diálogo de cores é um widget enorme que consiste em muitos widgets filhos, por isso é difícil definir a folha de estilo para a caixa de diálogo de cores, pois é um widget complexo. Abaixo está a aparência da borda para os rótulos do widget QColorDialog
Para fazer isso, temos que definir a folha de estilo para o objeto QColorDialog com a ajuda do setStyleSheet
método, abaixo está o código da folha de estilo
QColorDialog QLabel { borda: 2px azul sólido; }
Abaixo está a implementação
from
PyQt5.QtWidgets
import
*
from
PyQt5
import
QtCore, QtGui
from
PyQt5.QtGui
import
*
from
PyQt5.QtCore
import
*
import
sys
class
Window(QMainWindow):
def
__init__(
self
):
super
().__init__()
self
.setWindowTitle(
"Python "
)
self
.setGeometry(
100
,
100
,
500
,
400
)
self
.UiComponents()
self
.show()
def
UiComponents(
self
):
dialog
=
QColorDialog(
self
)
dialog.setCustomColor(
1
, Qt.red)
dialog.setCustomColor(
2
, Qt.green)
dialog.setCustomColor(
3
, Qt.yellow)
dialog.setCustomColor(
4
, Qt.blue)
label
=
QLabel(
"Geeks for Geeks"
,
self
)
label.setAlignment(Qt.AlignCenter)
label.setWordWrap(
True
)
label.setStyleSheet(
"QLabel"
"{"
"border : 5px solid black;"
"}"
)
color
=
dialog.customColor(
4
)
graphic
=
QGraphicsColorizeEffect(
self
)
graphic.setColor(color)
label.setGraphicsEffect(graphic)
layout
=
dialog.layout()
layout.addWidget(label)
dialog.setLayout(layout)
dialog.setStyleSheet(
"QColorDialog QLabel"
"{"
"border : 4px solid darkgreen;"
"}"
)
dialog.exec_()
self
.deleteLater()
App
=
QApplication(sys.argv)
window
=
Window()
sys.exit(App.
exec
())
Resultado :
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva