PyQt5: chapter1-分组单选按钮

实例

  1. 创建基于Dialog without Buttons模板的窗口
  2. 拖出三个Label部件,其中Label部件分别置于顶部,中部和下部位置
  3. 在中间空白区域拖入两个Vertical Layout面板,在第一个面板上拖入四个Radio Button部件,第二个面板拖入三个Radio Button部件
  4. 第一个Label的text属性为Choose your Shirt Size ,第二个为 Choose your payment method ,第三个置空
  5. 第一个Vertical Layout面板objectName属性设为VBoxLayout,第二个设为QVBoxLayout
  6. 第一个面板上四个Radio Button的text属性分别为M,L,XL,XXL,其objectName分别为radioButtonMedium,radioButtonLarge, radioButtonXL, radioButtonXXL
  7. 第二个面板上四个Radio Button的text属性分别为 Debit/Credit Card,NetBanking, Cash On Delivery,其objectName分别为radioButtonDebitCard,radioButtonNetBanking, radioButtonCashOnDelivery
  8. 第三个Label的objectName属性为labelSelected
  9. 保存为demoRadioButton2.ui文件
  10. 使用pyuic5生成demoRadioButton2.py文件
  11. 创建callRadioButton2.py文件,调用demoRadioButton2.py文件,代码如下

import sys
from PyQt5.QtWidgets import QDialog,QApplication
from cookbook_200419.demoRadioButton2 import *

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui=Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.radioButtonMedium.toggled.connect(self.dispSelected)
        self.ui.radioButtonLarge.toggled.connect(self.dispSelected)
        self.ui.radioButtonXL.toggled.connect(self.dispSelected)
        self.ui.radioButtonXXL.toggled.connect(self.dispSelected)
        self.ui.radioButtonDebitCard.toggled.connect(self.dispSelected)
        self.ui.radioButtonNetBanking.toggled.connect(self.dispSelected)
        self.ui.radioButtonCashOnDelivery.toggled.connect(self.dispSelected)
        self.show()
    def dispSelected(self):
        selected1=""
        selected2=""
        if self.ui.radioButtonMedium.isChecked()==True:
            selected1="Medium"
        if self.ui.radioButtonLarge.isChecked()==True:
            selected1="Large"
        if self.ui.radioButtonXL.isChecked()==True:
            selected1="Extra Large"
        if self.ui.radioButtonXXL.isChecked()==True:
            selected1="Extra Extra Large"
        if self.ui.radioButtonDebitCard.isChecked()==True:
            selected2="Debit/Credit Card"
        if self.ui.radioButtonNetBanking.isChecked()==True:
            selected2="NetBanking"
        if self.ui.radioButtonCashOnDelivery.isChecked()==True:
            selected2="Cash On Delivery"
        self.ui.labelSelected.setText("Chosen shirt size is "+str(selected1)+" and payment method as "+str(selected2))
if __name__=="__main__":
    app=QApplication(sys.argv)
    w=MyForm()
    w.show()
    sys.exit(app.exec())

发布了120 篇原创文章 · 获赞 3 · 访问量 3744

猜你喜欢

转载自blog.csdn.net/weixin_43307431/article/details/105619271
今日推荐