我在写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.