PyQt5中关于角色Role理解及应用

本文详细解析PyQt5中如何利用角色(Role)进行自定义数据绑定,通过设置不同数据角色(如Qt.UserRole及其加法)来隐藏附加信息。在示例中,使用QComboBox展示不同国家,并通过设置枚举值关联特定角色。通过槽函数showData动态获取选定项对应的角色数据,展示了如何根据选择的角色显示不同的国家枚举值。
摘要由CSDN通过智能技术生成
   我在写GUI界面程序中,经常会遇到关于Role角色数据,一直不是很理解,数据和文本值是不同的,数据是附加在文本值上面的,在界面上只能显示出文本值。今天就以QComboBox为例总结一下, 加深对Role角色数据的理解。希望对role同样迷惑的朋友们能有所帮助!
布局中。我采用了垂直布局了一个角色QGroupBox分组控件,一个QcomboBox控件,还有一个QPushButton测试按钮控件。
QGroupBox分组控件,放入的QRadioButton单选的角色。UserRole代表默认的角色编号,UserRole+1,UserRole+2,UserRole+3代表不同的角色编号。
QcomboBox中设置了一下国家文本:如:中国,美国,俄罗斯等。
QPushButton设置了按钮的背景颜色为浅黄色。读者可以把下面代码复制下来运行一下。方便理解后面的代码。
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import (QApplication,QWidget,QPushButton,QMessageBox,QVBoxLayout,
                             QComboBox,QRadioButton,QGroupBox)
from PyQt5.QtCore import Qt
import sys
from enum import IntEnum

class Country_Type(IntEnum):           #1
    """定义三种类型的国家枚举值"""
    Country_Type_Large = 10000
    Country_Type_Middle = 10001
    Country_Type_Small = 10002


class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.initUi()
    def initUi(self):
        self.setWindowTitle('自定义Role角色')
        self.resize(260,120)
        self.hlayout = QVBoxLayout()
        self.setLayout(self.hlayout)
        self.group = QGroupBox("数据角色")
        self.rbtn1=QRadioButton('UserRole')
        self.rbtn1.
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值