es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

PyQt5 – Intentando cambiar el color de las líneas debajo de la barra de menú en QMainWindow.

Estoy tratando de cambiar el color de un par de líneas horizontales (las que se encuentran justo encima y debajo de la barra de herramientas horizontal) en una QMainWindow.

Estoy utilizando QPalette para cambiar los colores de la ventana principal y puedo configurar la mayoría de las cosas que quiero. Sin embargo, no estoy seguro de dónde establecer el color de estas dos líneas horizontales grises.

Editar: Las líneas grises definitivamente son un elemento de la barra de herramientas horizontal.

Fragmento de código:

app = QApplication(sys.argv)
app.setStyle("Fusion")
wnd = IOMainWindow()

palette = QPalette()

# Experimentando con colores
palette.setColor(QPalette.Window, QColor('#21252b'))
palette.setColor(QPalette.Highlight, QColor('#21252b'))
palette.setColor(QPalette.WindowText, Qt.lightGray)
palette.setColor(QPalette.Base, QColor('#1d2126'))
palette.setColor(QPalette.AlternateBase, QColor('#333438'))
palette.setColor(QPalette.ToolTipBase, Qt.white)
palette.setColor(QPalette.ToolTipText, Qt.white)
palette.setColor(QPalette.Text, Qt.lightGray)
palette.setColor(QPalette.Button, QColor(53, 53, 53))
palette.setColor(QPalette.ButtonText, Qt.lightGray)
palette.setColor(QPalette.BrightText, Qt.red)
palette.setColor(QPalette.Link, QColor(42, 130, 218))
palette.setColor(QPalette.HighlightedText, Qt.white)

app.setPalette(palette)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el color de las líneas horizontales que se encuentran arriba y abajo de la barra de herramientas horizontal en un QMainWindow, necesitarás acceder al hoja de estilos de la barra de herramientas. Puedes hacer esto estableciendo la hoja de estilos de la barra de herramientas del QMainWindow utilizando el método setStyleSheet().

    Por ejemplo, para cambiar el color de las líneas horizontales a rojo:

    toolbar_style = "QToolBar {border-top: 1px solid red; border-bottom: 1px solid red;}"
    self.toolbar.setStyleSheet(toolbar_style)
    

    Esto establece la hoja de estilos de la barra de herramientas para incluir un borde de 1 píxel de color rojo en la parte superior e inferior de la barra de herramientas.

    Puedes experimentar con diferentes estilos de borde y colores para lograr el efecto deseado. Para obtener más información sobre cómo aplicar estilos a los widgets de Qt utilizando hojas de estilos, consulta la documentación oficial: https://doc.qt.io/qt-5/stylesheet.html

Comments are closed.