Is there a way to style QRadioButton labels? specifically I want to movethe label to the top, from this:
to this:
The latter having been done in tkinter.
you can achieve this by using QVBoxLayout
and QLabel
within a QHBoxLayout
.
from PyQt5.QtWidgets import (
QLabel, QRadioButton, QVBoxLayout, QHBoxLayout,
QApplication, QWidget
)
import sys
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
self.layout = QHBoxLayout()
self.setLayout(self.layout)
self.vlayout1 = QVBoxLayout()
self.label1 = QLabel("HW")
self.radiobutton1 = QRadioButton()
self.radiobutton1.setChecked(True)
self.radiobutton1.toggled.connect(self.onClicked)
self.vlayout1.addWidget(self.label1)
self.vlayout1.addWidget(self.radiobutton1)
self.layout.addLayout(self.vlayout1)
self.vlayout2 = QVBoxLayout()
self.label2 = QLabel("SW")
self.radiobutton2 = QRadioButton()
self.radiobutton2.toggled.connect(self.onClicked)
self.vlayout2.addWidget(self.label2)
self.vlayout2.addWidget(self.radiobutton2)
self.layout.addLayout(self.vlayout2)
def onClicked(self):
radioButton = self.sender()
if radioButton.isChecked():
print("Radio button clicked")
if __name__ == '__main__':
app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())