本文整理汇总了Python中PyQt5.QtWidgets.QButtonGroup.checkedId方法的典型用法代码示例。如果您正苦于以下问题:Python QButtonGroup.checkedId方法的具体用法?Python QButtonGroup.checkedId怎么用?Python QButtonGroup.checkedId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QButtonGroup
的用法示例。
在下文中一共展示了QButtonGroup.checkedId方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: InputRadioGroup
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
class InputRadioGroup(QWidget):
"""Create an horizontal radio group"""
def __init__(self, parent=None, option_list=None, default_select=0):
super().__init__(parent=parent)
layout = QHBoxLayout(self)
self.group = QButtonGroup()
for idx, op in enumerate(option_list):
self.op = QRadioButton(_(op))
if idx == default_select:
self.op.setChecked(True)
layout.addWidget(self.op)
self.group.addButton(self.op)
self.setLayout(layout)
@pyqtProperty(str)
def currentItemData(self):
return str(abs(int(self.group.checkedId())) - 1)
示例2: RadioGroup
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
class RadioGroup(object):
def __init__(self,
value_text_tuples: Iterable[Tuple[str, Any]],
default: Any = None) -> None:
# There's no reason for the caller to care about the internal IDs
# we use. So let's make them up here as positive integers.
self.default_value = default
if not value_text_tuples:
raise ValueError("No values passed to RadioGroup")
if contains_duplicates([x[0] for x in value_text_tuples]):
raise ValueError("Duplicate values passed to RadioGroup")
possible_values = [x[0] for x in value_text_tuples]
if self.default_value not in possible_values:
self.default_value = possible_values[0]
self.bg = QButtonGroup() # exclusive by default
self.buttons = []
self.map_id_to_value = {}
self.map_value_to_button = {}
for i, (value, text) in enumerate(value_text_tuples):
id_ = i + 1 # start with 1
button = QRadioButton(text)
self.bg.addButton(button, id_)
self.buttons.append(button)
self.map_id_to_value[id_] = value
self.map_value_to_button[value] = button
def get_value(self) -> Any:
buttongroup_id = self.bg.checkedId()
if buttongroup_id == NOTHING_SELECTED:
return None
return self.map_id_to_value[buttongroup_id]
def set_value(self, value: Any) -> None:
if value not in self.map_value_to_button:
value = self.default_value
button = self.map_value_to_button[value]
button.setChecked(True)
def add_buttons_to_layout(self, layout: QLayout) -> None:
for button in self.buttons:
layout.addWidget(button)
示例3: DataCheck
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
#.........这里部分代码省略.........
self.txt_cnf = ('<font color="red">目的変数を1つ選択し,'
'targetの列にチェックをいれてください。')
if self.params.task.lower() == 'classification':
self.txt_cnf += '<br>目的変数はカテゴリ変数である必要があります。</font>'
else:
self.txt_cnf += '<br>目的変数は量的変数である必要があります。</font>'
else:
self.txt_cnf = ('<font color="red">Select one variable as target variable,'
'then set the column of "target" of the variable checked.')
if self.params.task.lower() == 'classification':
self.txt_cnf += '<br>Target variable must be a categorical variable.</font>'
else:
self.txt_cnf += '<br>Target variable must be a numerical variable.</font>'
self.lbl_cnf = QLabel(self.txt_cnf, self.inner)
self.vbox.addWidget(self.lbl_cnf)
self.vbox.addStretch(1)
self.btn = QPushButton('Next', self.inner)
self.btn.setStyleSheet('QPushButton{font: bold; font-size: 15pt; background-color: white;};')
if self.params.lang == 'en':
self.btn.clicked.connect(lambda: self.button_func('Overfitting'))
else:
self.btn.clicked.connect(lambda: self.button_func('過学習'))
if self.obj_group.checkedButton() is None:
self.btn.setEnabled(False)
else:
self.btn.setEnabled(True)
self.vbox.addWidget(self.btn)
def __make_cell(self, c, name, col_type, col_type_def):
cell = QWidget(self.inner)
rbtn = QRadioButton('', cell)
rbtn.toggled.connect(lambda: self.rbtn_clicked(name + '_' + str(c)))
hbl = QHBoxLayout(cell)
hbl.addWidget(rbtn)
hbl.setContentsMargins(0, 0, 0, 0)
hbl.setAlignment(Qt.AlignCenter)
cell.setLayout(hbl)
if name == 'cat':
if col_type == 'object':
rbtn.setChecked(True)
self.lst_cat.append(rbtn)
elif name == 'num':
if col_type != 'object':
rbtn.setChecked(True)
if col_type_def == 'object':
rbtn.setEnabled(False)
self.lst_num.append(rbtn)
elif name == 'obj':
if col_type == 'object' and self.params.task == 'Regression':
rbtn.setEnabled(False)
elif col_type != 'object' and self.params.task == 'Classification':
rbtn.setEnabled(False)
if self.params.columns[c] == self.params.objective:
rbtn.setChecked(True)
self.lst_obj.append(rbtn)
return cell
def rbtn_clicked(self, text):
name, idx = text.split('_')
idx = int(idx)
if len(self.lst_obj) <= idx:
return
if self.lst_num[idx].isChecked():
if self.params.task == 'Classification':
self.obj_group.setExclusive(False)
self.lst_obj[idx].setChecked(False)
self.obj_group.setExclusive(True)
self.lst_obj[idx].setEnabled(False)
elif self.params.task == 'Regression':
self.lst_obj[idx].setEnabled(True)
self.params.col_types[idx] = self.params.col_types_def[idx]
elif self.lst_cat[idx].isChecked():
if self.params.task == 'Classification':
self.lst_obj[idx].setEnabled(True)
elif self.params.task == 'Regression':
self.obj_group.setExclusive(False)
self.lst_obj[idx].setChecked(False)
self.obj_group.setExclusive(True)
self.lst_obj[idx].setEnabled(False)
self.params.col_types[idx] = 'object'
if self.obj_group.checkedButton() is None:
self.params.objective = None
self.lbl_cnf.setText(self.txt_cnf)
self.btn.setEnabled(False)
else:
self.params.objective =\
self.params.columns[self.obj_group.checkedId()]
self.lbl_cnf.setText('<br>')
self.btn.setEnabled(True)
self.params.col_types_changed = True
示例4: request_trezor_init_settings
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
def request_trezor_init_settings(self, wizard, method, device):
vbox = QVBoxLayout()
next_enabled = True
label = QLabel(_("Enter a label to name your device:"))
name = QLineEdit()
hl = QHBoxLayout()
hl.addWidget(label)
hl.addWidget(name)
hl.addStretch(1)
vbox.addLayout(hl)
def clean_text(widget):
text = widget.toPlainText().strip()
return ' '.join(text.split())
if method in [TIM_NEW, TIM_RECOVER]:
gb = QGroupBox()
hbox1 = QHBoxLayout()
gb.setLayout(hbox1)
# KeepKey recovery doesn't need a word count
if method == TIM_NEW:
vbox.addWidget(gb)
gb.setTitle(_("Select your seed length:"))
bg = QButtonGroup()
for i, count in enumerate([12, 18, 24]):
rb = QRadioButton(gb)
rb.setText(_("{} words").format(count))
bg.addButton(rb)
bg.setId(rb, i)
hbox1.addWidget(rb)
rb.setChecked(True)
cb_pin = QCheckBox(_('Enable PIN protection'))
cb_pin.setChecked(True)
else:
text = QTextEdit()
text.setMaximumHeight(60)
if method == TIM_MNEMONIC:
msg = _("Enter your BIP39 mnemonic:")
else:
msg = _("Enter the master private key beginning with xprv:")
def set_enabled():
from electrum.bip32 import is_xprv
wizard.next_button.setEnabled(is_xprv(clean_text(text)))
text.textChanged.connect(set_enabled)
next_enabled = False
vbox.addWidget(QLabel(msg))
vbox.addWidget(text)
pin = QLineEdit()
pin.setValidator(QRegExpValidator(QRegExp('[1-9]{0,9}')))
pin.setMaximumWidth(100)
hbox_pin = QHBoxLayout()
hbox_pin.addWidget(QLabel(_("Enter your PIN (digits 1-9):")))
hbox_pin.addWidget(pin)
hbox_pin.addStretch(1)
if method in [TIM_NEW, TIM_RECOVER]:
vbox.addWidget(WWLabel(RECOMMEND_PIN))
vbox.addWidget(cb_pin)
else:
vbox.addLayout(hbox_pin)
passphrase_msg = WWLabel(PASSPHRASE_HELP_SHORT)
passphrase_warning = WWLabel(PASSPHRASE_NOT_PIN)
passphrase_warning.setStyleSheet("color: red")
cb_phrase = QCheckBox(_('Enable passphrases'))
cb_phrase.setChecked(False)
vbox.addWidget(passphrase_msg)
vbox.addWidget(passphrase_warning)
vbox.addWidget(cb_phrase)
wizard.exec_layout(vbox, next_enabled=next_enabled)
if method in [TIM_NEW, TIM_RECOVER]:
item = bg.checkedId()
pin = cb_pin.isChecked()
else:
item = ' '.join(str(clean_text(text)).split())
pin = str(pin.text())
return (item, name.text(), pin, cb_phrase.isChecked())
示例5: Dimili
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
#.........这里部分代码省略.........
self.anaMenu = QMenuBar(anaPencere)
self.anaMenu.setGeometry(QRect(0, 0, 600, 21))
self.menuDosya = QMenu("Dosya",self.anaMenu)
self.menuDuzenle = QMenu("Düzenle",self.anaMenu)
self.menuYardim = QMenu("Yardım",self.anaMenu)
anaPencere.setMenuBar(self.anaMenu)
self.durum = QStatusBar(zemin)
anaPencere.setStatusBar(self.durum)
self.durum.setStyleSheet("background-color:white")
self.durum.showMessage("Hazır")
self.cikis= QAction(QIcon("Exit.ico"),"&Çıkış",anaPencere)
self.cikis.setShortcut("Ctrl+X")
self.cikis.triggered.connect(anaPencere.close)
self.actionHakkinda = QAction("Hakkında",anaPencere)
self.actionHakkinda.triggered.connect(self.hakkinda)
self.actionSecenekler = QAction("Seçenekler",anaPencere)
self.menuDosya.addAction(self.cikis)
self.menuDuzenle.addAction(self.actionSecenekler)
self.menuYardim.addAction(self.actionHakkinda)
self.anaMenu.addAction(self.menuDosya.menuAction())
self.anaMenu.addAction(self.menuDuzenle.menuAction())
self.anaMenu.addAction(self.menuYardim.menuAction())
def kelimeAcikla(self):
if self.DilGrup.checkedId()==1:
self.cumleList1.clear()
self.cumleList2.clear()
self.cumleList3.clear()
itemtext= [str(x.text()) for x in self.kelimeListesi.selectedItems()]
for it in itemtext:
itemtext=it
self.im.execute("select Tur from DimTur where Zazaca=?",[itemtext])
turliste=[tur[0] for tur in self.im.fetchall()]
for tura in turliste:
turliste=tura
self.im.execute("select Turkce from DimTur where Zazaca=?",[itemtext])
turkAnlam=[tur[0] for tur in self.im.fetchall()]
for tr in turkAnlam:
self.cumleList1.addItem(itemtext+"("+turliste+")"+" : "+tr)
self.im.execute("select OrnekZazacaCumle from DimTur where Zazaca=?",[itemtext])
ornekZaza=[zaza[0] for zaza in self.im.fetchall()]
for za in ornekZaza:
ornekZaza=za
self.cumleList2.addItem(ornekZaza)
self.im.execute("select OrnekTurkceCumle from DimTur where Zazaca=?",[itemtext])
ornekTurk=[turk[0] for turk in self.im.fetchall()]
for orn in ornekTurk:
ornekTurk=orn
self.cumleList3.addItem(ornekTurk)
if self.DilGrup.checkedId()==2:
self.cumleList1.clear()
self.cumleList2.clear()
self.cumleList3.clear()
itemtext= [str(x.text()) for x in self.kelimeListesi.selectedItems()]
for it in itemtext:
itemtext=it
self.im.execute("select Tur from DimTur where Turkce=?",[itemtext])
示例6: CarcassonneInputWidget
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
class CarcassonneInputWidget(QWidget):
enterPressed = QtCore.pyqtSignal()
i18n("CarcassonneInputWidget", 'City')
i18n("CarcassonneInputWidget", 'Road')
i18n("CarcassonneInputWidget", 'Cloister')
i18n("CarcassonneInputWidget", 'Field')
i18n("CarcassonneInputWidget", 'Goods')
i18n("CarcassonneInputWidget", 'Fair')
def __init__(self, engine, bgcolors, parent=None):
super(CarcassonneInputWidget, self).__init__(parent)
self.engine = engine
self.parent = parent
self.bgcolors = bgcolors
self.setStyleSheet("QGroupBox { font-size: 22px; font-weight: bold; }")
self.initUI()
def initUI(self):
self.widgetLayout = QHBoxLayout(self)
self.playerGroup = QGroupBox(self)
self.widgetLayout.addWidget(self.playerGroup)
self.playerButtonGroup = QButtonGroup(self)
self.playerGroupLayout = QGridLayout(self.playerGroup)
b = QRadioButton("", self.playerGroup)
# self.playerGroupLayout.addWidget(b)
self.playerButtonGroup.addButton(b, 0)
self.playerButtons = [b]
b.hide()
for i, player in enumerate(self.engine.getListPlayers(), 1):
b = QRadioButton(
'{}. {}'.format(i, player), self.playerGroup)
if len(self.engine.getListPlayers()) > 2:
self.playerGroupLayout.addWidget(b, (i-1) % 2, (i-1)/2)
else:
self.playerGroupLayout.addWidget(b, 0, (i-1) % 2)
self.playerButtonGroup.addButton(b, i)
self.playerButtons.append(b)
self.kindGroup = QGroupBox(self)
self.widgetLayout.addWidget(self.kindGroup)
self.kindButtonGroup = QButtonGroup(self)
self.kindGroupLayout = QGridLayout(self.kindGroup)
b = QRadioButton("", self.kindGroup)
# self.kindGroupLayout.addWidget(b)
self.kindButtonGroup.addButton(b, 0)
self.kindButtons = [b]
b.hide()
self.scoreSpinBox = ScoreSpinBox(self)
self.scoreSpinBox.setAlignment(QtCore.Qt.AlignCenter)
self.scoreSpinBox.setMaximumWidth(60)
self.scoreSpinBox.setRange(0, 300)
for i, kind in enumerate(self.engine.getEntryKinds(), 1):
lbl = i18n("CarcassonneInputWidget", kind)
b = QRadioButton('{}. {}'.format(i, lbl), self.kindGroup)
self.kindGroupLayout.addWidget(b, (i-1) % 2, (i-1)/2)
self.kindButtonGroup.addButton(b, i)
b.clicked.connect(self.scoreSpinBox.setFocus)
self.kindButtons.append(b)
self.kindButtons[3].toggled.connect(self.setCloisterPoints)
self.kindButtons[5].toggled.connect(self.setGoodsPoints)
self.kindButtons[6].toggled.connect(self.setFairPoints)
self.scoreGroup = QGroupBox(self)
self.widgetLayout.addWidget(self.scoreGroup)
self.scoreGroupLayout = QHBoxLayout(self.scoreGroup)
self.scoreGroupLayout.addWidget(self.scoreSpinBox)
self.reset()
self.retranslateUI()
def retranslateUI(self):
self.playerGroup.setTitle(i18n(
"CarcassonneInputWidget", "Select Player"))
self.kindGroup.setTitle(i18n(
"CarcassonneInputWidget", "Select kind of entry"))
self.scoreGroup.setTitle(i18n(
"CarcassonneInputWidget", "Points"))
for i, kind in enumerate(self.engine.getEntryKinds(), 1):
text = i18n(
"CarcassonneInputWidget", kind)
self.kindButtons[i].setText('{}. {}'.format(i, text))
def placeCommitButton(self, cb):
self.scoreGroupLayout.addWidget(cb)
def getPlayer(self):
pid = self.playerButtonGroup.checkedId()
if not pid:
return ""
player = self.engine.getListPlayers()[pid-1]
return str(player)
#.........这里部分代码省略.........
示例7: NewUserForm
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
class NewUserForm(QWidget):
def __init__(self, parent=None):
super(NewUserForm, self).__init__(parent)
self.createWidgets()
self.layoutWidgets()
self.createConnections()
def createWidgets(self):
self.title = QLabel("Welcome!")
titleFont = QFont()
titleFont.setPointSize(36)
titleFont.setItalic(True)
self.title.setFont(titleFont)
self.subtitle = QLabel("Before we begin the experiment, please fill the following details. Those details will be kept completely confidential and used for the sole purpose of the experiment.")
self.subtitle.setWordWrap(True)
self.idLabel = QLabel("&Identification number")
self.idLineEdit = QLineEdit()
# TODO add validation
regexp = QRegExp('^\d{8,9}$')
validator = QRegExpValidator(regexp)
self.idLineEdit.setValidator(validator)
self.idLabel.setBuddy(self.idLineEdit)
self.ageLabel = QLabel("&Age:")
self.ageSpinBox = QSpinBox()
self.ageSpinBox.setRange(16, 80)
self.ageSpinBox.setValue(20)
self.ageLabel.setBuddy(self.ageSpinBox)
self.genderLabel = QLabel("&Gender:")
self.maleRadioButton = QRadioButton("Male")
self.femaleRadioButton = QRadioButton("Female")
self.genderButtonGroup = QButtonGroup()
self.genderButtonGroup.addButton(self.maleRadioButton, 1)
self.genderButtonGroup.addButton(self.femaleRadioButton, 2)
self.genderLayout = QHBoxLayout()
self.genderLayout.addWidget(self.maleRadioButton)
self.genderLayout.addWidget(self.femaleRadioButton)
self.genderLabel.setBuddy(self.maleRadioButton)
self.fieldLabel = QLabel("Primary &field of studies:")
field_list = ["--- Please select ---",
"Industrial Engineering",
"Electrical Engineering",
"Electrical Engineering & Computer Science",
"Electrical Engineering & Physics",
"Mechanical Engineering",
"Biomedical Engineering",
"Environmental Engineering"]
self.fieldComboBox = QComboBox()
self.fieldComboBox.addItems(field_list)
self.fieldLabel.setBuddy(self.fieldComboBox)
# self.next_button = QPushButton("Next >")
# self.buttonBox = QDialogButtonBox(self.next_button)
def layoutWidgets(self):
formLayout = QGridLayout()
formLayout.setSpacing(20)
formLayout.setColumnStretch(0, 5)
formLayout.setColumnStretch(1, 2)
formLayout.setColumnStretch(2, 2)
formLayout.setColumnStretch(4, 5)
formLayout.setRowStretch(0, 1)
formLayout.addWidget(self.title, 1, 1, 1, 2)
formLayout.setRowMinimumHeight(2, 50)
formLayout.addWidget(self.subtitle, 3, 1, 1, 2)
formLayout.addWidget(self.idLabel, 4, 1)
formLayout.addWidget(self.idLineEdit, 4, 2)
formLayout.addWidget(self.ageLabel, 5, 1)
formLayout.addWidget(self.ageSpinBox, 5, 2)
formLayout.addWidget(self.genderLabel, 6, 1)
formLayout.addLayout(self.genderLayout, 6, 2)
formLayout.addWidget(self.fieldLabel, 7, 1)
formLayout.addWidget(self.fieldComboBox, 7, 2)
formLayout.setRowMinimumHeight(8, 30)
# formLayout.addWidget(self.next_button, 9, 2)
formLayout.setRowStretch(10, 1)
self.setLayout(formLayout)
def createConnections(self):
# self.next_button.clicked.connect(self.accepted)
pass
def accepted(self):
pass
def save_results(self):
# get value of gender checkbox and convert
# 1 --> m
# 2 --> f
g = self.genderButtonGroup.checkedId()
# save variables to global module 'config'
config.id = self.idLineEdit.text()
config.age = self.ageSpinBox.value()
#.........这里部分代码省略.........
示例8: request_trezor_init_settings
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
#.........这里部分代码省略.........
# label
label = QLabel(_("Enter a label to name your device:"))
name = QLineEdit()
hl = QHBoxLayout()
hl.addWidget(label)
hl.addWidget(name)
hl.addStretch(1)
vbox.addLayout(hl)
# word count
gb = QGroupBox()
hbox1 = QHBoxLayout()
gb.setLayout(hbox1)
vbox.addWidget(gb)
gb.setTitle(_("Select your seed length:"))
bg_numwords = QButtonGroup()
word_counts = (12, 18, 24)
for i, count in enumerate(word_counts):
rb = QRadioButton(gb)
rb.setText(_("{:d} words").format(count))
bg_numwords.addButton(rb)
bg_numwords.setId(rb, i)
hbox1.addWidget(rb)
rb.setChecked(True)
# PIN
cb_pin = QCheckBox(_('Enable PIN protection'))
cb_pin.setChecked(True)
vbox.addWidget(WWLabel(RECOMMEND_PIN))
vbox.addWidget(cb_pin)
# "expert settings" button
expert_vbox = QVBoxLayout()
expert_widget = QWidget()
expert_widget.setLayout(expert_vbox)
expert_widget.setVisible(False)
expert_button = QPushButton(_("Show expert settings"))
def show_expert_settings():
expert_button.setVisible(False)
expert_widget.setVisible(True)
expert_button.clicked.connect(show_expert_settings)
vbox.addWidget(expert_button)
# passphrase
passphrase_msg = WWLabel(PASSPHRASE_HELP_SHORT)
passphrase_warning = WWLabel(PASSPHRASE_NOT_PIN)
passphrase_warning.setStyleSheet("color: red")
cb_phrase = QCheckBox(_('Enable passphrases'))
cb_phrase.setChecked(False)
expert_vbox.addWidget(passphrase_msg)
expert_vbox.addWidget(passphrase_warning)
expert_vbox.addWidget(cb_phrase)
# ask for recovery type (random word order OR matrix)
bg_rectype = None
if method == TIM_RECOVER and not model == 'T':
gb_rectype = QGroupBox()
hbox_rectype = QHBoxLayout()
gb_rectype.setLayout(hbox_rectype)
expert_vbox.addWidget(gb_rectype)
gb_rectype.setTitle(_("Select recovery type:"))
bg_rectype = QButtonGroup()
rb1 = QRadioButton(gb_rectype)
rb1.setText(_('Scrambled words'))
bg_rectype.addButton(rb1)
bg_rectype.setId(rb1, RECOVERY_TYPE_SCRAMBLED_WORDS)
hbox_rectype.addWidget(rb1)
rb1.setChecked(True)
rb2 = QRadioButton(gb_rectype)
rb2.setText(_('Matrix'))
bg_rectype.addButton(rb2)
bg_rectype.setId(rb2, RECOVERY_TYPE_MATRIX)
hbox_rectype.addWidget(rb2)
# no backup
cb_no_backup = None
if method == TIM_NEW:
cb_no_backup = QCheckBox(f'''{_('Enable seedless mode')}''')
cb_no_backup.setChecked(False)
if (model == '1' and fw_version >= (1, 7, 1)
or model == 'T' and fw_version >= (2, 0, 9)):
cb_no_backup.setToolTip(SEEDLESS_MODE_WARNING)
else:
cb_no_backup.setEnabled(False)
cb_no_backup.setToolTip(_('Firmware version too old.'))
expert_vbox.addWidget(cb_no_backup)
vbox.addWidget(expert_widget)
wizard.exec_layout(vbox, next_enabled=next_enabled)
return TrezorInitSettings(
word_count=word_counts[bg_numwords.checkedId()],
label=name.text(),
pin_enabled=cb_pin.isChecked(),
passphrase_enabled=cb_phrase.isChecked(),
recovery_type=bg_rectype.checkedId() if bg_rectype else None,
no_backup=cb_no_backup.isChecked() if cb_no_backup else False,
)
示例9: PochaPlayerInputWidget
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
class PochaPlayerInputWidget(QFrame):
winnerSet = QtCore.pyqtSignal(str)
newExpected = QtCore.pyqtSignal()
handsClicked = QtCore.pyqtSignal(str, str)
def __init__(self, player, engine, colour=None, parent=None):
super(PochaPlayerInputWidget, self).__init__(parent)
self.player = player
self.engine = engine
self.winner = False
self.pcolour = colour
self.mainLayout = QVBoxLayout(self)
self.mainLayout.setSpacing(0)
self.label = QLabel(self)
self.label.setText(self.player)
self.mainLayout.addWidget(self.label)
self.label.setAutoFillBackground(False)
self.setFrameShape(QFrame.Panel)
self.setFrameShadow(QFrame.Raised)
self.label.setScaledContents(True)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setWordWrap(False)
css = ("QLabel {{ font-size: 24px; font-weight: bold; "
"color:rgb({},{},{});}}")
self.label.setStyleSheet(css.format(self.pcolour.red(),
self.pcolour.green(),
self.pcolour.blue()))
self.expectedGroupBox = QFrame(self)
self.mainLayout.addWidget(self.expectedGroupBox)
self.ebLayout = QHBoxLayout(self.expectedGroupBox)
self.ebLayout.setSpacing(0)
self.ebLayout.setContentsMargins(2, 2, 2, 2)
self.expectedGroup = QButtonGroup(self)
self.expectedGroup.buttonReleased.connect(self.expectedClickedAction)
self.expectedButtons = []
self.wonGroupBox = QFrame(self)
self.mainLayout.addWidget(self.wonGroupBox)
self.wbLayout = QHBoxLayout(self.wonGroupBox)
self.wbLayout.setSpacing(0)
self.wbLayout.setContentsMargins(2, 2, 2, 2)
self.wonGroup = QButtonGroup(self)
self.wonGroup.buttonReleased.connect(self.wonClickedAction)
self.wonButtons = []
for i in range(-1, 9):
button = PochaHandsButton(str(i), self)
self.expectedGroup.addButton(button, i)
self.expectedButtons.append(button)
button.toggled.connect(self.enableWonGroup)
if i < 0:
button.hide()
else:
self.ebLayout.addWidget(button)
button = PochaHandsButton(str(i), self)
self.wonGroup.addButton(button, i)
self.wonButtons.append(button)
if i < 0:
button.hide()
else:
self.wbLayout.addWidget(button)
self.reset()
def reset(self):
self.expectedButtons[0].setChecked(True)
self.wonButtons[0].setChecked(True)
self.refreshButtons()
self.disableWonRow()
def refreshButtons(self, forbidden=-1):
hands = self.engine.getHands()
for eb, wb in zip(self.expectedButtons, self.wonButtons):
eb.setDisabled(int(eb.text()) > hands)
if int(eb.text()) == forbidden:
eb.setDisabled(True)
wb.setDisabled(int(wb.text()) > hands)
def disableWonRow(self, disable=True):
if self.getExpectedHands() < 0:
self.wonGroupBox.setDisabled(True)
else:
self.wonGroupBox.setDisabled(disable)
def enableWonGroup(self, button):
self.newExpected.emit()
def isWinner(self): return False
def getPlayer(self): return self.player
def getScore(self):
expected = self.expectedGroup.checkedId()
won = self.wonGroup.checkedId()
if expected < 0 or won < 0:
return 0
if expected == won:
#.........这里部分代码省略.........
示例10: FileDialogWizardDialog
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
class FileDialogWizardDialog(QDialog, Ui_FileDialogWizardDialog):
"""
Class implementing the color dialog wizard dialog.
It displays a dialog for entering the parameters
for the QFileDialog code generator.
"""
def __init__(self, pyqtVariant, parent=None):
"""
Constructor
@param pyqtVariant variant of PyQt (integer; 0, 4 or 5)
@param parent parent widget (QWidget)
"""
super(FileDialogWizardDialog, self).__init__(parent)
self.setupUi(self)
self.eStartWithCompleter = E5FileCompleter(self.eStartWith)
self.eWorkDirCompleter = E5DirCompleter(self.eWorkDir)
self.__pyqtVariant = pyqtVariant
self.__typeButtonsGroup = QButtonGroup(self)
self.__typeButtonsGroup.setExclusive(True)
self.__typeButtonsGroup.addButton(self.rOpenFile, 1)
self.__typeButtonsGroup.addButton(self.rOpenFiles, 2)
self.__typeButtonsGroup.addButton(self.rSaveFile, 3)
self.__typeButtonsGroup.addButton(self.rfOpenFile, 11)
self.__typeButtonsGroup.addButton(self.rfOpenFiles, 12)
self.__typeButtonsGroup.addButton(self.rfSaveFile, 13)
self.__typeButtonsGroup.addButton(self.rDirectory, 20)
self.__typeButtonsGroup.buttonClicked[int].connect(
self.__toggleInitialFilterAndResult)
self.__toggleInitialFilterAndResult(1)
self.pyqtComboBox.addItems(["PyQt4", "PyQt5"])
if self.__pyqtVariant == 5:
self.pyqtComboBox.setCurrentIndex(1)
else:
self.pyqtComboBox.setCurrentIndex(0)
self.rSaveFile.toggled[bool].connect(self.__toggleConfirmCheckBox)
self.rfSaveFile.toggled[bool].connect(self.__toggleConfirmCheckBox)
self.rDirectory.toggled[bool].connect(self.__toggleGroupsAndTest)
self.cStartWith.toggled[bool].connect(self.__toggleGroupsAndTest)
self.cWorkDir.toggled[bool].connect(self.__toggleGroupsAndTest)
self.cFilters.toggled[bool].connect(self.__toggleGroupsAndTest)
self.bTest = self.buttonBox.addButton(
self.tr("Test"), QDialogButtonBox.ActionRole)
msh = self.minimumSizeHint()
self.resize(max(self.width(), msh.width()), msh.height())
def __adjustOptions(self, options):
"""
Private method to adjust the file dialog options.
@param options file dialog options (QFileDialog.Options)
@return modified options (QFileDialog.Options)
"""
if Globals.isLinuxPlatform():
options |= QFileDialog.DontUseNativeDialog
return options
@pyqtSlot(str)
def on_pyqtComboBox_currentIndexChanged(self, txt):
"""
Private slot to setup the dialog for the selected PyQt variant.
@param txt text of the selected combo box entry (string)
"""
self.rfOpenFile.setEnabled(txt == "PyQt5")
self.rfOpenFiles.setEnabled(txt == "PyQt5")
self.rfSaveFile.setEnabled(txt == "PyQt5")
if txt == "PyQt5":
if self.rfOpenFile.isChecked():
self.rOpenFile.setChecked(True)
elif self.rfOpenFiles.isChecked():
self.rOpenFiles.setChecked(True)
elif self.rfSaveFile.isChecked():
self.rSaveFile.setChecked(True)
self.__pyqtVariant = 5 if txt == "PyQt5" else 4
self.__toggleInitialFilterAndResult(
self.__typeButtonsGroup.checkedId())
def on_buttonBox_clicked(self, button):
"""
Private slot called by a button of the button box clicked.
@param button button that was clicked (QAbstractButton)
"""
if button == self.bTest:
self.on_bTest_clicked()
@pyqtSlot()
def on_bTest_clicked(self):
#.........这里部分代码省略.........
示例11: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QButtonGroup [as 别名]
# 或者: from PyQt5.QtWidgets.QButtonGroup import checkedId [as 别名]
#.........这里部分代码省略.........
self.scene_scale_combo.setCurrentIndex(2)
self.scene_scale_combo.currentIndexChanged[str].connect(self.scene_scale_changed)
self.pointer_tool_bar = self.addToolBar("Pointer type")
self.pointer_tool_bar.addWidget(pointer_button)
self.pointer_tool_bar.addWidget(line_pointer_button)
self.pointer_tool_bar.addWidget(self.scene_scale_combo)
def button_group_clicked(self, button_id):
buttons = self.button_group.buttons()
self.clicked_button_id = button_id
for button in buttons:
if self.button_group.button(button_id) != button:
button.setChecked(False)
if button_id == self.InsertTextButton:
self.scene.set_mode(DiagramScene.InsertText)
else:
self.scene.set_item_type(self.items[button_id])
self.scene.set_mode(DiagramScene.InsertItem)
def delete_item(self):
for item in self.scene.selectedItems():
if isinstance(item, FlumeDiagramItem):
item.remove_arrows()
self.scene.removeItem(item)
# noinspection PyTypeChecker,PyCallByClass
def about(self):
# noinspection PyArgumentList
QMessageBox.about(self, "About Flume Illustrator", "The Flume illustrator shows config-file details")
def pointer_group_clicked(self):
self.scene.set_mode(self.pointer_type_group.checkedId())
def bring_to_front(self):
if not self.scene.selectedItems():
return
selected_item = self.scene.selectedItems()[0]
overlap_items = selected_item.collidingItems()
z_value = 0
for item in overlap_items:
if item.zValue() >= z_value and isinstance(item, FlumeDiagramItem):
z_value = item.zValue() + 0.1
selected_item.setZValue(z_value)
def send_to_back(self):
if not self.scene.selectedItems():
return
selected_item = self.scene.selectedItems()[0]
overlap_items = selected_item.collidingItems()
z_value = 0
for item in overlap_items:
if item.zValue() <= z_value and isinstance(item, FlumeDiagramItem):
z_value = item.zValue() - 0.1
selected_item.setZValue(z_value)
def scene_scale_changed(self, scale):
new_scale = float(scale[:scale.index("%")]) / 100
old_transform = self.view.transform()
self.view.resetTransform()
self.view.translate(old_transform.dx(), old_transform.dy())