0

Is there a way to style QRadioButton labels? specifically I want to movethe label to the top, from this:

enter image description here

to this:

enter image description here

The latter having been done in tkinter.

4

1 回答 1

1

您可以通过QVBoxLayout在.QLabelQHBoxLayout

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_())

在此处输入图像描述

于 2019-11-21T19:21:22.603 回答