PyQt5 - 单选按钮的管状指示器
在本文中,我们将看到如何制作单选按钮的管状指示器。默认情况下,单选按钮指示器是圆形的。
下面是普通单选按钮和指示器为管状的单选按钮的表示。
In order to do this we have to do the following :
1. Create a radio button.
2. Set the border and make the radio button indicator to rectangle(height > width) in shape with the help of style sheet.
3. Change the bottom border radius to sum of half of the width of indicator and border thickness
样式表代码来做到这一点——
QRadioButton::indicator
{
border : 1px solid black;
width : 12;
height : 25;
border-bottom-left-radius : 7;
border-bottom-right-radius : 7;
}
下面是实现——
Python3
# importing libraries
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__()
# setting title
self.setWindowTitle("Python ")
# setting geometry
self.setGeometry(100, 100, 600, 400)
# calling method
self.UiComponents()
# showing all the widgets
self.show()
# method for widgets
def UiComponents(self):
# creating a radio button
self.radio_button = QRadioButton(self)
# setting geometry of radio button
self.radio_button.setGeometry(200, 150, 120, 40)
# setting text to radio button
self.radio_button.setText("Radio Button")
# changing style sheet code of radio button setting border to
# indicator of thickness 1px and of black color and width and height
# and the border radius equal to thickness of border + half of height
self.radio_button.setStyleSheet("QRadioButton::indicator"
"{"
"border : 1px solid black;"
"width : 12px;"
"height : 25px;"
"border-bottom-left-radius : 7px;"
"border-bottom-right-radius : 7px;"
"}")
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())
输出 :