本文整理汇总了Python中PyQt4.QtGui.QGroupBox.setCheckable方法的典型用法代码示例。如果您正苦于以下问题:Python QGroupBox.setCheckable方法的具体用法?Python QGroupBox.setCheckable怎么用?Python QGroupBox.setCheckable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.QtGui.QGroupBox
的用法示例。
在下文中一共展示了QGroupBox.setCheckable方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
def __init__(self, *args, **kwargs):
# Initialize the base class...
super(DvidDataSelectionBrowser, self).__init__(*args, **kwargs)
self._subvol_widget = SubregionRoiWidget(parent=self)
subvol_layout = QVBoxLayout()
subvol_layout.addWidget(self._subvol_widget)
group_title = (
"Restrict to subvolume (Right-click a volume name above to auto-initialize these subvolume parameters.)"
)
subvol_groupbox = QGroupBox(group_title, parent=self)
subvol_groupbox.setCheckable(True)
subvol_groupbox.setChecked(False)
subvol_groupbox.setEnabled(False)
subvol_groupbox.toggled.connect(self._update_status)
subvol_groupbox.setLayout(subvol_layout)
subvol_groupbox.setFixedHeight(200)
subvol_groupbox.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum)
self._subvol_groupbox = subvol_groupbox
# Add to the layout
layout = self.layout()
layout.insertWidget(3, subvol_groupbox)
# Special right-click behavior.
self._repo_treewidget.viewport().installEventFilter(self)
示例2: buildPostProcessorForm
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
def buildPostProcessorForm(self, theParams):
"""Build Post Processor Tab
Args:
* theParams - dictionary containing element of form
Returns:
not applicable
"""
# create postprocessors tab
myTab = QWidget()
myFormLayout = QFormLayout(myTab)
myFormLayout.setLabelAlignment(Qt.AlignLeft)
self.tabWidget.addTab(myTab, self.tr('Postprocessors'))
self.tabWidget.tabBar().setVisible(True)
# create element for the tab
myValues = {}
for myLabel, myOptions in theParams.items():
myInputValues = {}
# NOTE (gigih) : 'params' is assumed as dictionary
if 'params' in myOptions:
myGroupBox = QGroupBox()
myGroupBox.setCheckable(True)
myGroupBox.setTitle(get_postprocessor_human_name(myLabel))
# NOTE (gigih): is 'on' always exist??
myGroupBox.setChecked(myOptions.get('on'))
myInputValues['on'] = self.bind(myGroupBox, 'checked', bool)
myLayout = QFormLayout(myGroupBox)
myGroupBox.setLayout(myLayout)
# create widget element from 'params'
myInputValues['params'] = {}
for myKey, myValue in myOptions['params'].items():
myHumanName = get_postprocessor_human_name(myKey)
myInputValues['params'][myKey] = self.buildWidget(
myLayout, myHumanName, myValue)
myFormLayout.addRow(myGroupBox, None)
elif 'on' in myOptions:
myCheckBox = QCheckBox()
myCheckBox.setText(get_postprocessor_human_name(myLabel))
myCheckBox.setChecked(myOptions['on'])
myInputValues['on'] = self.bind(myCheckBox, 'checked', bool)
myFormLayout.addRow(myCheckBox, None)
else:
raise NotImplementedError('This case is not handled for now')
myValues[myLabel] = myInputValues
self.values['postprocessors'] = myValues
示例3: mkSslBox
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
def mkSslBox(self):
group = QGroupBox(tr("Check server certificate"))
group.setCheckable(True)
box = QVBoxLayout(group)
#id 0
nupki = QRadioButton(tr("Upload certificate"))
#id 1
custom = QRadioButton(tr("Use an internal PKI"))
hbox = QHBoxLayout()
box.addLayout(hbox)
self.nupki_or_custom = QButtonGroup()
self.connect(self.nupki_or_custom, SIGNAL('buttonClicked(int)'), self.toggleCustomOrNupki)
for index, radio in enumerate((custom, nupki)):
hbox.addWidget(radio)
self.nupki_or_custom.addButton(radio, index)
self.file_selector_widget = QWidget()
vbox = QVBoxLayout(self.file_selector_widget)
selector_label = QLabel(tr("Manually uploaded LDAP certificate"))
vbox.addWidget(selector_label)
add_cert_trigger = AddButton(text=tr("Upload a certificate"))
vbox.addWidget(add_cert_trigger)
vbox.addWidget(separator())
self.has_cert_message = QLabel(
tr("There is no manually uploaded server certificate")
)
self.del_cert = RemButton(
tr("Delete certificate file from server")
)
vbox.addWidget(self.has_cert_message)
vbox.addWidget(self.del_cert)
self.connect(add_cert_trigger, SIGNAL('clicked()'), self.upload_server_cert)
self.connect(self.del_cert, SIGNAL('clicked()'), self.delete_server_cert)
self.nupki_message = MessageArea()
self.nupki_message.setMessage(tr("Warning"),
tr(
"There is no server certificate in the internal PKI.<br/>"
"Please import or generate one using an internal PKI."
)
)
for anti_button, widget in ((custom, self.nupki_message), (nupki, self.file_selector_widget)):
box.addWidget(widget)
self.connect(anti_button, SIGNAL('toggled(bool)'), widget.setVisible)
self.selectCustomOrNupki(CUSTOM)
return group
示例4: build_post_processor_form
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
def build_post_processor_form(self, parameters):
"""Build Post Processor Tab.
:param parameters: A Dictionary containing element of form
:type parameters: dict
"""
# create postprocessors tab
tab = QWidget()
form_layout = QFormLayout(tab)
form_layout.setLabelAlignment(Qt.AlignLeft)
self.tabWidget.addTab(tab, self.tr('Postprocessors'))
self.tabWidget.tabBar().setVisible(True)
# create element for the tab
values = OrderedDict()
for label, options in parameters.items():
input_values = OrderedDict()
# NOTE (gigih) : 'params' is assumed as dictionary
if 'params' in options:
group_box = QGroupBox()
group_box.setCheckable(True)
group_box.setTitle(get_postprocessor_human_name(label))
# NOTE (gigih): is 'on' always exist??
# (MB) should always be there
group_box.setChecked(options.get('on'))
input_values['on'] = self.bind(group_box, 'checked', bool)
layout = QFormLayout(group_box)
group_box.setLayout(layout)
# create widget element from 'params'
input_values['params'] = OrderedDict()
for key, value in options['params'].items():
input_values['params'][key] = self.build_widget(
layout, key, value)
form_layout.addRow(group_box, None)
elif 'on' in options:
checkbox = QCheckBox()
checkbox.setText(get_postprocessor_human_name(label))
checkbox.setChecked(options['on'])
input_values['on'] = self.bind(checkbox, 'checked', bool)
form_layout.addRow(checkbox, None)
else:
raise NotImplementedError('This case is not handled for now')
values[label] = input_values
self.values['postprocessors'] = values
示例5: __init__
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
def __init__(self, *args, **kwargs):
# Initialize the base class...
super( DvidDataSelectionBrowser, self ).__init__(*args, **kwargs)
self._roi_widget = SubregionRoiWidget( parent=self )
roi_layout = QVBoxLayout()
roi_layout.addWidget( self._roi_widget )
roi_groupbox = QGroupBox("Specify Region of Interest", parent=self)
roi_groupbox.setCheckable(True)
roi_groupbox.setChecked(False)
roi_groupbox.setEnabled(False)
roi_groupbox.toggled.connect( self._update_display )
roi_groupbox.setLayout( roi_layout )
roi_groupbox.setFixedHeight( 200 )
roi_groupbox.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Minimum )
self._roi_groupbox = roi_groupbox
# Add to the layout
layout = self.layout()
layout.insertWidget( 3, roi_groupbox )
示例6: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class Main(plugin.Plugin):
' main class for plugin '
def initialize(self, *args, **kwargs):
' class init '
super(Main, self).initialize(*args, **kwargs)
self.process = QProcess()
self.process.readyReadStandardOutput.connect(self.readOutput)
self.process.readyReadStandardError.connect(self.readErrors)
self.process.finished.connect(self._process_finished)
self.process.error.connect(self._process_finished)
# directory auto completer
self.completer, self.dirs = QCompleter(self), QDirModel(self)
self.dirs.setFilter(QDir.Dirs | QDir.NoDotAndDotDot)
self.completer.setModel(self.dirs)
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
self.completer.setCompletionMode(QCompleter.PopupCompletion)
# menu
menu = QMenu('VirtualEnv')
menu.addAction('Make VirtualEnv here', lambda: self.make_virtualenv())
self.locator.get_service('explorer').add_project_menu(menu, lang='all')
self.group1 = QGroupBox()
self.group1.setTitle(' Paths ')
self.outdir = QLineEdit(path.expanduser("~"))
self.outdir.setPlaceholderText('Target Directory for Virtualenv files')
self.outdir.setCompleter(self.completer)
self.btn1 = QPushButton(QIcon.fromTheme("document-open"), ' Open ')
self.btn1.clicked.connect(lambda: self.outdir.setText(str(
QFileDialog.getExistingDirectory(self.dock,
'Please, Open a Target Directory for the Python VirtualEnv...',
path.expanduser("~")))))
self.srcdir, self.prefx = QLineEdit(), QLineEdit()
self.srcdir.setPlaceholderText(
'Extra search path to look for setuptools/distribute/pip')
self.srcdir.setToolTip('''
Specify Extra search path to look for setuptools/distribute/pip.
Defaults to Empty, then the setting is ignored.Defaults are OK.''')
self.srcdir.setCompleter(self.completer)
self.btn2 = QPushButton(QIcon.fromTheme("document-open"), ' Open ')
self.btn2.setToolTip(
'Specify Extra search path to look for setuptools/distribute/pip')
self.btn2.clicked.connect(lambda: self.srcdir.setText(str(
QFileDialog.getExistingDirectory(self.dock,
'Please, Open a Extra search path to look for setuptools/pip...',
path.expanduser("~")))))
self.prefx.setPlaceholderText('Prompt prefix for this environment')
self.prefx.setToolTip('''
Specify a custom alternative prompt prefix for this environment.
Defaults to Empty,this is optional,short prefix are recommended.''')
self.btn3 = QPushButton(QIcon.fromTheme("face-smile-big"), 'Suggestion')
self.btn3.setToolTip('Suggest me a Random CLI prompt prefix !')
self.btn3.clicked.connect(lambda: self.prefx.setText(choice((getuser(),
'tesla', 'einstein', 'turing', 'ritchie', 'darwin', 'curie', 'planck',
'lovelace', 'dijsktra', 'galileo', 'schroedinger', 'perlman', 'hopper',
'newton', 'pasteur', 'maxwell', 'aristotle', 'volta', 'mendelev',
'bohr', 'crick', 'watson', 'archimedes', 'nash', 'fermi', 'dirac',
'feynman', 'kepler', 'copernicus', 'lorentz', 'faraday', 'heisenberg',
))))
vboxg1 = QVBoxLayout(self.group1)
for each_widget in (
QLabel(' Target directory dath: '), self.outdir, self.btn1,
QLabel(' Extra search path: '), self.srcdir, self.btn2,
QLabel(' CLI Prompt prefix (Optional): '), self.prefx, self.btn3):
vboxg1.addWidget(each_widget)
self.group2 = QGroupBox()
self.group2.setTitle(' Options ')
self.group2.setCheckable(True)
self.group2.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group2.graphicsEffect().setEnabled(False)
self.group2.toggled.connect(self.toggle_options_group)
self.qckb1, self.combo1 = QCheckBox(' Use Debug'), QDoubleSpinBox()
self.qckb2 = QCheckBox(' Clear out the target directory')
self.qckb3 = QCheckBox(' System-wide Python Packages')
self.qckb4 = QCheckBox(' Unzip Setuptool or Distribute to virtualenv')
self.qckb5 = QCheckBox(' Force the use of SetupTools')
self.qckb6 = QCheckBox(' Never download packages')
self.qckb7 = QCheckBox(' Delete .PYC files from virtualenv')
self.qckb8 = QCheckBox(' Open target directory later')
self.qckb9 = QCheckBox(' Save a LOG file to target later')
self.qckb10 = QCheckBox(' No install PIP in the new virtualenv')
self.qckb11 = QCheckBox('Save Bash script to reproduce virtenv later')
self.chrt = QCheckBox('LOW CPU priority for Backend Process')
self.combo1.setValue(2.7)
self.combo1.setMaximum(3.4)
self.combo1.setMinimum(2.4)
self.combo1.setDecimals(1)
self.combo1.setSingleStep(0.1)
try:
self.vinfo = QLabel('<small><b> Virtualenv Version: </b>' +
getoutput('virtualenv --version', shell=1).strip())
except:
self.vinfo = QLabel('Warning: Failed to query Virtualenv Backend!')
[a.setChecked(True) for a in (self.qckb1, self.qckb4, self.qckb7,
self.chrt, self.qckb8, self.qckb9, self.qckb11)]
vboxg2 = QVBoxLayout(self.group2)
for each_widget in (self.qckb1, self.qckb2, self.qckb3, self.qckb4,
self.qckb5, self.qckb6, self.qckb7, self.qckb8, self.qckb9,
self.qckb10, self.qckb11, QLabel(' Python interpreter version: '),
self.combo1, QLabel(' Backend CPU priority: '), self.chrt):
#.........这里部分代码省略.........
示例7: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class Main(plugin.Plugin):
' main class for plugin '
def initialize(self, *args, **kwargs):
' class init '
super(Main, self).initialize(*args, **kwargs)
self.process = QProcess()
self.process.readyReadStandardOutput.connect(self.readOutput)
self.process.readyReadStandardError.connect(self.readErrors)
self.process.finished.connect(self._process_finished)
self.process.error.connect(self._process_finished)
# directory auto completer
self.completer, self.dirs = QCompleter(self), QDirModel(self)
self.dirs.setFilter(QDir.Dirs | QDir.NoDotAndDotDot)
self.completer.setModel(self.dirs)
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
self.completer.setCompletionMode(QCompleter.PopupCompletion)
menu = QMenu('Clones')
menu.addAction('Analyze for Code Clones here', lambda: self.make_clon())
self.locator.get_service('explorer').add_project_menu(menu, lang='all')
self.group1 = QGroupBox()
self.group1.setTitle(' Target ')
self.outdir, self.igndir = QLineEdit(path.expanduser("~")), QLineEdit()
self.outdir.setCompleter(self.completer)
self.btn1 = QPushButton(QIcon.fromTheme("document-open"), ' Open ')
self.btn1.clicked.connect(lambda: self.outdir.setText(str(
QFileDialog.getExistingDirectory(self.dock,
'Please, Open a Target Directory...', path.expanduser("~")))))
self.btn1a = QPushButton(QIcon.fromTheme("face-smile"),
'Get from Ninja active project')
self.btn1a.clicked.connect(lambda: self.outdir.setText(
self.locator.get_service('explorer').get_current_project_item().path))
self.ignckb, self.ignmor = QComboBox(), QTextEdit()
self.ignckb.addItems(['Single Directory', 'Multiple Directories CSV'])
self.ignckb.currentIndexChanged.connect(self.on_ignore_changed)
self.ignmor.hide()
self.igndir.setPlaceholderText('Exclude directory')
self.igndir.setCompleter(self.completer)
self.btn2 = QPushButton(QIcon.fromTheme("document-open"), ' Open ')
self.btn2.clicked.connect(lambda: self.igndir.setText(str(
QFileDialog.getExistingDirectory(self.dock,
'Please, Open a Ignore Directory...', path.expanduser("~")))))
vboxg1 = QVBoxLayout(self.group1)
for each_widget in (QLabel('<b>Target directory path: '), self.outdir,
self.btn1, self.btn1a, QLabel('<b>Ignore directory path: '),
self.ignckb, self.ignmor, self.igndir, self.btn2, ):
vboxg1.addWidget(each_widget)
self.group2 = QGroupBox()
self.group2.setTitle(' Output ')
self.outfle = QLineEdit(path.join(path.expanduser("~"), 'output.html'))
self.outfle.setPlaceholderText('Exclude directory')
self.outfle.setCompleter(self.completer)
self.btn3 = QPushButton(QIcon.fromTheme("document-save"), ' Save ')
self.btn3.clicked.connect(lambda: self.outfle.setText(
QFileDialog.getSaveFileName(self.dock, 'Save', path.expanduser("~"),
'XML(*.xml)' if self.xmlo.isChecked() is True else 'HTML(*.html)')))
vboxg2 = QVBoxLayout(self.group2)
for each_widget in (QLabel('<b>Output report file path:'),
self.outfle, self.btn3):
vboxg2.addWidget(each_widget)
self.group3 = QGroupBox()
self.group3.setTitle(' Options ')
self.group3.setCheckable(True)
self.group3.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group3.graphicsEffect().setEnabled(False)
self.group3.toggled.connect(self.toggle_options_group)
self.qckb1, self.qckb2 = QCheckBox('Recursive'), QCheckBox('Time-less')
self.qckb3, self.qckb4 = QCheckBox('Force Diff'), QCheckBox('Fast Mode')
self.qckb5, self.tm = QCheckBox('Save a LOG file to target'), QLabel('')
self.xmlo = QCheckBox('XML Output instead of HTML')
self.opeo = QCheckBox('Open Clones Report when done')
self.chrt = QCheckBox('LOW CPU priority for Backend Process')
self.mdist, self.hdep, self.output = QSpinBox(), QSpinBox(), QTextEdit()
self.ign_func = QLineEdit('test, forward, backward, Migration')
self.mdist.setValue(5)
self.hdep.setValue(1)
self.mdist.setToolTip('''<b>Maximum amount of difference between pair of
sequences in clone pair (5 default).Larger value more false positive''')
self.hdep.setToolTip('''<b>Computation can be speeded up by increasing
this value, but some clones can be missed (1 default)''')
[a.setChecked(True) for a in (self.qckb1, self.qckb3, self.qckb5,
self.chrt, self.opeo)]
vboxg3 = QVBoxLayout(self.group3)
for each_widget in (self.qckb1, self.qckb2, self.qckb3, self.qckb4,
self.qckb5, self.chrt, self.xmlo, self.opeo,
QLabel('<b>Max Distance Threshold:'), self.mdist,
QLabel('<b>Max Hashing Depth:'), self.hdep,
QLabel('<b>Ignore code block prefix:'), self.ign_func):
vboxg3.addWidget(each_widget)
self.group4, self.auto = QGroupBox(), QComboBox()
self.group4.setTitle(' Automation ')
self.group4.setCheckable(True)
self.group4.setToolTip('<font color="red"><b>WARNING:Advanced Setting!')
self.group4.toggled.connect(lambda: self.group4.hide())
self.auto.addItems(['Never run automatically', 'Run when File Saved',
#.........这里部分代码省略.........
示例8: NetWorkSettingWidget
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class NetWorkSettingWidget(QWidget):
def __init__(self, app, parent = None):
super(NetWorkSettingWidget,self).__init__(parent)
self.setStyleSheet("font-size : 16px;")
self.app = app
CDLL("../lib/libjson-c.so", mode=RTLD_GLOBAL)
self.jytcapi = cdll.LoadLibrary('../lib/libjytcapi.so')
self.jytcapi.jyinittcapi()
self.initLayout()
self.initCheckBoxStatus()
self.restartNetworkTD = RestartNetworkThread()
self.waitingDlg = InfoHintDialog(None)
#绑定信号
self.connect(self.autoGetIpCheckbox, SIGNAL("stateChanged(int)"),self.slotSettingDHCPType)
self.connect(self.staticIpGroupbox, SIGNAL("clicked(bool)"),self.slotSettingStaticType)
self.connect(self.autoGetDNSCheckBox, SIGNAL("stateChanged(int)"),self.slotSettingDNSType)
self.connect(self.dnsServerAddressGroupbox, SIGNAL("clicked(bool)"),self.slotSettingCustomDNSType)
self.connect(self.saveBtn, SIGNAL("clicked()"),self.slotSave)
self.connect(self.restartNetworkTD, SIGNAL("restartNetwork"),self.slotShowRestartNetworkInfo)
def initLayout(self):
#IP设置
self.autoGetIpCheckbox = QCheckBox(self.tr("Auto get IP"))
self.staticIpGroupbox = QGroupBox(self.tr("Use this IP"))
self.staticIpGroupbox.setCheckable(True)
self.ipLabel = QLabel(self.tr("IP address"))
self.netmastLabel = QLabel(self.tr("Net mask"))
self.defaultGatewayLabel = QLabel(self.tr("Default gateway"))
topSpaceWidget = QLabel()
topSpaceWidget.setFixedHeight(1)
self.ip = QLineEdit()
self.ip.setContextMenuPolicy(Qt.NoContextMenu)
self.ip.setFixedSize(400, 30)
self.netmast = QLineEdit()
self.netmast.setContextMenuPolicy(Qt.NoContextMenu)
self.defaultGateway = QLineEdit()
self.defaultGateway.setContextMenuPolicy(Qt.NoContextMenu)
topGridLayout = QGridLayout()
topGridLayout.setSpacing(15)
topGridLayout.setMargin(20)
topGridLayout.addWidget(self.ipLabel, 0, 0, 1, 1)
topGridLayout.addWidget(self.ip, 0, 1, 1, 1)
topGridLayout.addWidget(self.netmastLabel, 1, 0, 1, 1)
topGridLayout.addWidget(self.netmast, 1, 1, 1, 1)
topGridLayout.addWidget(self.defaultGatewayLabel, 2, 0, 1, 1)
topGridLayout.addWidget(self.defaultGateway, 2, 1, 1, 1)
topGridLayout.addWidget(topSpaceWidget, 3, 0, 1, 1)
self.staticIpGroupbox.setLayout(topGridLayout)
#DNS设置
self.autoGetDNSCheckBox = QCheckBox(self.tr("Auto Get DNS"))
self.dnsServerAddressGroupbox = QGroupBox(self.tr("Use This DNS"))
self.dnsServerAddressGroupbox.setCheckable(True)
self.dnsLabel = QLabel(self.tr("DNS"))
self.backupDnsLabel = QLabel(self.tr("Backup DNS"))
bottomSpaceWidget = QLabel()
bottomSpaceWidget.setFixedHeight(1)
self.dns = QLineEdit()
self.dns.setContextMenuPolicy(Qt.NoContextMenu)
self.backupDns = QLineEdit()
self.backupDns.setContextMenuPolicy(Qt.NoContextMenu)
self.saveBtn = QPushButton(self.tr("Save"))
self.saveBtn.setStyleSheet("background: rgb(7,87,198); color: white; width: 90px; height: 30px;font-size : 16px;")
bottomGridLayout = QGridLayout()
bottomGridLayout.setSpacing(15)
bottomGridLayout.setMargin(20)
bottomGridLayout.addWidget(self.dnsLabel, 0, 0, 1, 1)
bottomGridLayout.addWidget(self.dns, 0, 1, 1, 1)
bottomGridLayout.addWidget(self.backupDnsLabel, 1, 0, 1, 1)
bottomGridLayout.addWidget(self.backupDns, 1, 1, 1, 1)
bottomGridLayout.addWidget(bottomSpaceWidget, 2, 0, 1, 1)
self.dnsServerAddressGroupbox.setLayout(bottomGridLayout)
#布局调整
vLayout = QVBoxLayout()
vLayout.setSpacing(10)
vLayout.setMargin(10)
#.........这里部分代码省略.........
示例9: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class Main(plugin.Plugin):
" Main Class "
def initialize(self, *args, **kwargs):
" Init Main Class "
super(Main, self).initialize(*args, **kwargs)
self.process = QProcess()
self.process.readyReadStandardOutput.connect(self.readOutput)
self.process.readyReadStandardError.connect(self.readErrors)
self.process.finished.connect(self._process_finished)
self.process.error.connect(self._process_finished)
self.editor_s = self.locator.get_service('editor')
self.completer, self.dirs = QCompleter(self), QDirModel(self)
self.dirs.setFilter(QDir.AllEntries | QDir.NoDotAndDotDot)
self.completer.setModel(self.dirs)
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
self.completer.setCompletionMode(QCompleter.PopupCompletion)
self.group0 = QGroupBox()
self.group0.setTitle(' Source ')
self.infile = QLineEdit(path.expanduser("~"))
self.infile.setPlaceholderText(' /full/path/to/file.html ')
self.infile.setCompleter(self.completer)
self.open = QPushButton(QIcon.fromTheme("folder-open"), 'Open')
self.open.setCursor(QCursor(Qt.PointingHandCursor))
self.open.clicked.connect(lambda: self.infile.setText(str(
QFileDialog.getOpenFileName(self.dock, "Open a File to read from",
path.expanduser("~"), ';;'.join(['{}(*.{})'.format(e.upper(), e)
for e in ['py', 'pyw', 'txt', '*']])))))
self.output = QTextEdit()
vboxg0 = QVBoxLayout(self.group0)
for each_widget in (self.infile, self.open, self.output):
vboxg0.addWidget(each_widget)
self.group1 = QGroupBox()
self.group1.setTitle(' General ')
self.group1.setCheckable(True)
self.group1.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group1.graphicsEffect().setEnabled(False)
self.group1.toggled.connect(self.toggle_gral_group)
self.ckgrl1 = QCheckBox('Create standalone executable')
self.ckgrl2 = QCheckBox('Use Python debug')
self.ckgrl3 = QCheckBox('Force compilation for MS Windows')
self.ckgrl4 = QCheckBox('When compiling, disable the console window')
self.ckgrl5 = QCheckBox('Use link time optimizations if available')
self.ckgrl6 = QCheckBox('Force the use of clang')
self.ckgrl7 = QCheckBox('Allow minor devitations from Python behaviour')
self.ckgrl8 = QCheckBox('Warnings implicit exceptions at compile time')
self.pyver, self.jobs = QComboBox(), QSpinBox()
self.pyver.addItems(['2.7', '2.6', '3.2', '3.3'])
self.jobs.setValue(1)
self.jobs.setMaximum(12)
self.jobs.setMinimum(1)
vboxg1 = QVBoxLayout(self.group1)
for each_widget in (self.ckgrl1, self.ckgrl2, self.ckgrl3, self.ckgrl4,
self.ckgrl5, self.ckgrl6, self.ckgrl7, self.ckgrl8,
QLabel('Python Version to Target'), self.pyver,
QLabel('Multi-Processing Parallel Workers'), self.jobs):
vboxg1.addWidget(each_widget)
try:
each_widget.setToolTip(each_widget.text())
except:
pass
self.group2 = QGroupBox()
self.group2.setTitle(' Recursion Control ')
self.ckrec0 = QCheckBox('Descend to imported modules from standard lib')
self.ckrec1 = QCheckBox('Force not descend to any imported modules')
self.ckrec2 = QCheckBox('Try to descend into all imported modules')
vboxg2 = QVBoxLayout(self.group2)
for each_widget in (self.ckrec0, self.ckrec1, self.ckrec2):
vboxg2.addWidget(each_widget)
each_widget.setToolTip(each_widget.text())
self.group3 = QGroupBox()
self.group3.setTitle(' Execution after compilation ')
self.ckexe0 = QCheckBox('Execute created binary (or import the module)')
self.ckexe1 = QCheckBox('When executing binary dont reset PYTHONPATH')
vboxg2 = QVBoxLayout(self.group3)
for each_widget in (self.ckexe0, self.ckexe1):
vboxg2.addWidget(each_widget)
each_widget.setToolTip(each_widget.text())
self.group4, self.dumptree = QGroupBox(), QTextEdit()
self.group4.setTitle(' Dump of internal tree ')
QVBoxLayout(self.group4).addWidget(self.dumptree)
self.group5 = QGroupBox()
self.group5.setTitle(' Code generation ')
self.chdmp1 = QCheckBox('Statements shall have their line numbers set')
self.chdmp2 = QCheckBox('Disable all unnecessary Python optimization')
vboxg5 = QVBoxLayout(self.group5)
for each_widget in (self.chdmp1, self.chdmp2):
vboxg5.addWidget(each_widget)
each_widget.setToolTip(each_widget.text())
self.group6 = QGroupBox()
self.group6.setTitle(' Output ')
self.outdir = QLineEdit(path.expanduser("~"))
self.outdir.setPlaceholderText(' /full/path/to/target/directory ')
self.outdir.setCompleter(self.completer)
#.........这里部分代码省略.........
示例10: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class Main(plugin.Plugin):
" Main Class "
def initialize(self, *args, **kwargs):
" Init Main Class "
ec = ExplorerContainer()
super(Main, self).initialize(*args, **kwargs)
self.editor_s = self.locator.get_service('editor')
# directory auto completer
self.completer = QCompleter(self)
self.dirs = QDirModel(self)
self.dirs.setFilter(QDir.AllEntries | QDir.NoDotAndDotDot)
self.completer.setModel(self.dirs)
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
self.completer.setCompletionMode(QCompleter.PopupCompletion)
self.group0 = QGroupBox()
self.group0.setTitle(' Source ')
self.source = QComboBox()
self.source.addItems(['Clipboard', 'Local File', 'Remote URL', 'Ninja'])
self.source.currentIndexChanged.connect(self.on_source_changed)
self.infile = QLineEdit(path.expanduser("~"))
self.infile.setPlaceholderText(' /full/path/to/file.html ')
self.infile.setCompleter(self.completer)
self.open = QPushButton(QIcon.fromTheme("folder-open"), 'Open')
self.open.setCursor(QCursor(Qt.PointingHandCursor))
self.open.clicked.connect(lambda: self.infile.setText(str(
QFileDialog.getOpenFileName(self.dock, "Open a File to read from",
path.expanduser("~"), ';;'.join(['{}(*.{})'.format(e.upper(), e)
for e in ['css', 'html', 'js', 'txt', '*']])))))
self.inurl = QLineEdit('http://www.')
self.inurl.setPlaceholderText('http://www.full/url/to/remote/file.html')
self.output = QPlainTextEdit(SAMPLE_TEXT)
vboxg0 = QVBoxLayout(self.group0)
for each_widget in (self.source, self.infile, self.open, self.inurl,
self.output, ):
vboxg0.addWidget(each_widget)
[a.hide() for a in iter((self.infile, self.open, self.inurl))]
self.group1 = QGroupBox()
self.group1.setTitle(' CSS3 ')
self.group1.setCheckable(True)
self.group1.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group1.graphicsEffect().setEnabled(False)
self.group1.toggled.connect(self.toggle_css_group)
self.ckcss1 = QCheckBox('Remove unnecessary Comments')
self.ckcss2 = QCheckBox('Remove unnecessary Whitespace characters')
self.ckcss3 = QCheckBox('Remove unnecessary Semicolons')
self.ckcss4 = QCheckBox('Remove unnecessary Empty rules')
self.ckcss5 = QCheckBox('Condense and Convert Colors from RGB to HEX')
self.ckcss6 = QCheckBox('Condense all Zero units')
self.ckcss7 = QCheckBox('Condense Multidimensional Zero units')
self.ckcss8 = QCheckBox('Condense Floating point numbers')
self.ckcss9 = QCheckBox('Condense HEX Colors')
self.ckcss10 = QCheckBox('Condense multiple adjacent Whitespace chars')
self.ckcss11 = QCheckBox('Condense multiple adjacent semicolon chars')
self.ckcss12 = QCheckBox('Wrap the lines of the to 80 character length')
self.ckcss13 = QCheckBox('Condense Font Weight values')
self.ckcss14 = QCheckBox('Condense the 17 Standard Named Colors values')
self.ckcss15 = QCheckBox('Condense the 124 Extra Named Colors values')
self.ckcss16 = QCheckBox('Condense all Percentages values when posible')
self.ckcss17 = QCheckBox('Condense all Pixels values when posible')
self.ckcss18 = QCheckBox('Remove unnecessary quotes from url()')
self.ckcss19 = QCheckBox('Add standard Encoding Declaration if missing')
vboxg1 = QVBoxLayout(self.group1)
for each_widget in (self.ckcss1, self.ckcss2, self.ckcss3, self.ckcss4,
self.ckcss5, self.ckcss6, self.ckcss7, self.ckcss8, self.ckcss9,
self.ckcss10, self.ckcss11, self.ckcss12, self.ckcss13,
self.ckcss14, self.ckcss15, self.ckcss16, self.ckcss17,
self.ckcss18, self.ckcss19):
vboxg1.addWidget(each_widget)
each_widget.setToolTip(each_widget.text())
self.group2 = QGroupBox()
self.group2.setTitle(' HTML5 ')
self.group2.setCheckable(True)
self.group2.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group2.graphicsEffect().setEnabled(False)
self.group2.toggled.connect(self.toggle_html_group)
self.ckhtml0 = QCheckBox('Condense Style and Script HTML Tags')
self.ckhtml1 = QCheckBox('Condense DOCTYPE to new HTML5 Tags')
self.ckhtml2 = QCheckBox('Condense Href and Src to protocol agnostic')
self.ckhtml4 = QCheckBox('Remove unnecessary Tags but keep HTML valid')
self.help1 = QLabel('''<a href=
"https://developers.google.com/speed/articles/optimizing-html">
<small><center>Help about Unneeded Unnecessary HTML tags ?</a>''')
self.help1.setTextInteractionFlags(Qt.LinksAccessibleByMouse)
self.help1.setOpenExternalLinks(True)
vboxg2 = QVBoxLayout(self.group2)
for each_widget in (self.ckhtml0, self.ckhtml1, self.ckhtml2,
self.ckhtml4, self.help1, ):
vboxg2.addWidget(each_widget)
each_widget.setToolTip(each_widget.text())
self.group3 = QGroupBox()
self.group3.setTitle(' Javascript ')
self.ckjs0 = QCheckBox('Condense and Compress Javascript')
self.ckjs1 = QCheckBox('Condense $(document).ready(function(){ });')
vboxg2 = QVBoxLayout(self.group3)
for each_widget in (self.ckjs0, self.ckjs1):
#.........这里部分代码省略.........
示例11: NetWorkSettingWidget
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class NetWorkSettingWidget(QWidget):
def __init__(self, app, parent = None):
super(NetWorkSettingWidget,self).__init__(parent)
self.setStyleSheet("font-size : 16px;")
self.app = app
self.setNetworkCardFilePath()
self.initLayout()
self.initCheckBoxStatus()
self.restartNetworkTD = RestartNetworkThread()
self.waitingDlg = InfoHintDialog(None)
#绑定信号
self.connect(self.autoGetIpCheckbox, SIGNAL("stateChanged(int)"),self.slotSettingDHCPType)
self.connect(self.staticIpGroupbox, SIGNAL("clicked(bool)"),self.slotSettingStaticType)
self.connect(self.autoGetDNSCheckBox, SIGNAL("stateChanged(int)"),self.slotSettingDNSType)
self.connect(self.dnsServerAddressGroupbox, SIGNAL("clicked(bool)"),self.slotSettingCustomDNSType)
self.connect(self.saveBtn, SIGNAL("clicked()"),self.slotSave)
self.connect(self.restartNetworkTD, SIGNAL("restartNetwork"),self.slotShowRestartNetworkInfo)
def setNetworkCardFilePath(self):
#self.networkconfigFile = common.NETWORK_CONFIG_CENTOS_7_0 + "br0"
#self.bridgeNetworkconfigFile = common.NETWORK_CONFIG_CENTOS_7_0 + "br0"
ethName = common.DEFAULT_NETCARD_NAME
ethNameList = globalfunc.getEthNameList()
if not ethNameList:
LogRecord.instance().logger.info(u"获取网卡名称失败!")
else:
ethName = ethNameList[0]
self.originalNetConfigFile = common.NETWORK_CONFIG_CENTOS_7_0 + ethName
LogRecord.instance().logger.info(u"获取网卡名称:%s" % self.originalNetConfigFile)
self.originalBridgerNetConfigFile = common.BRIDGER_NETWORK_CONFIG_CENTOS_7_0
LogRecord.instance().logger.info(u"获取bridge网卡名称:%s" % self.originalNetConfigFile)
self.networkconfigFile = self.originalNetConfigFile
self.bridgeNetworkconfigFile = self.originalBridgerNetConfigFile
if globalvariable.PROGRAM_RUNNING_TYPE == common.OPERATION_ENV_TYPE:#running env
self.networkconfigFile = globalfunc.convertPathToConfigPath(self.originalNetConfigFile)
self.bridgeNetworkconfigFile = globalfunc.convertPathToConfigPath(self.originalBridgerNetConfigFile)
#self.networkconfigFile = common.NETWORK_CONFIG_CENTOS_7_0 + "br0"
def initLayout(self):
#IP设置
self.autoGetIpCheckbox = QCheckBox(self.tr("Auto get IP"))
self.staticIpGroupbox = QGroupBox(self.tr("Use this IP"))
self.staticIpGroupbox.setCheckable(True)
self.ipLabel = QLabel(self.tr("IP address"))
self.netmastLabel = QLabel(self.tr("Net mask"))
self.defaultGatewayLabel = QLabel(self.tr("Default gateway"))
topSpaceWidget = QLabel()
topSpaceWidget.setFixedHeight(1)
self.ip = QLineEdit()
self.ip.setContextMenuPolicy(Qt.NoContextMenu)
self.ip.setFixedSize(400, 30)
self.netmast = QLineEdit()
self.netmast.setContextMenuPolicy(Qt.NoContextMenu)
self.defaultGateway = QLineEdit()
self.defaultGateway.setContextMenuPolicy(Qt.NoContextMenu)
topGridLayout = QGridLayout()
topGridLayout.setSpacing(15)
topGridLayout.setMargin(20)
topGridLayout.addWidget(self.ipLabel, 0, 0, 1, 1)
topGridLayout.addWidget(self.ip, 0, 1, 1, 1)
topGridLayout.addWidget(self.netmastLabel, 1, 0, 1, 1)
topGridLayout.addWidget(self.netmast, 1, 1, 1, 1)
topGridLayout.addWidget(self.defaultGatewayLabel, 2, 0, 1, 1)
topGridLayout.addWidget(self.defaultGateway, 2, 1, 1, 1)
topGridLayout.addWidget(topSpaceWidget, 3, 0, 1, 1)
self.staticIpGroupbox.setLayout(topGridLayout)
#DNS设置
self.autoGetDNSCheckBox = QCheckBox(self.tr("Auto Get DNS"))
self.dnsServerAddressGroupbox = QGroupBox(self.tr("Use This DNS"))
self.dnsServerAddressGroupbox.setCheckable(True)
self.dnsLabel = QLabel(self.tr("DNS"))
self.backupDnsLabel = QLabel(self.tr("Backup DNS"))
bottomSpaceWidget = QLabel()
bottomSpaceWidget.setFixedHeight(1)
#.........这里部分代码省略.........
示例12: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class Main(plugin.Plugin):
" Main Class "
def initialize(self, *args, **kwargs):
" Init Main Class "
ec = ExplorerContainer()
super(Main, self).initialize(*args, **kwargs)
# directory auto completer
self.completer, self.dirs = QCompleter(self), QDirModel(self)
self.dirs.setFilter(QDir.AllEntries | QDir.NoDotAndDotDot)
self.completer.setModel(self.dirs)
self.completer.setCaseSensitivity(Qt.CaseInsensitive)
self.completer.setCompletionMode(QCompleter.PopupCompletion)
self.RUNS, self.FAILS = 0, 0
self.group0 = QGroupBox()
self.group0.setTitle(' Source and Target ')
self.baseurl = QLineEdit('http://google.com')
self.outfile = QLineEdit(path.join(path.expanduser("~"), 'test.py'))
self.outfile.setCompleter(self.completer)
self.open = QPushButton(QIcon.fromTheme("folder-open"), 'Open')
self.open.clicked.connect(lambda: self.outfile.setText(
QFileDialog.getSaveFileName(self.dock, "Save", path.expanduser("~"),
'PYTHON(*.py)')))
vboxg0 = QVBoxLayout(self.group0)
for each_widget in (QLabel('<b>Base URL'), self.baseurl,
QLabel('<b>Local File Target'), self.outfile, self.open):
vboxg0.addWidget(each_widget)
self.group1 = QGroupBox()
self.group1.setTitle(' Selenium ')
self.group1.setCheckable(True)
self.group1.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group1.graphicsEffect().setEnabled(False)
self.group1.toggled.connect(self.toggle_group)
self.ckcss1 = QCheckBox('Test for correct Page Loading behaviour')
self.ckcss2 = QCheckBox('Test for Sucessfull Status Code return')
self.ckcss3 = QCheckBox('Test for valid Title of the web page')
self.ckcss4 = QCheckBox('Test for Cookies Basic functionality')
self.ckcss5 = QCheckBox('Test for Back, Forward, Reload behaviour')
self.ckcss6 = QCheckBox('Take a Screenshot of page (CSS Debug)')
self.ckcss7 = QCheckBox('Test for Search Form Field of the page')
self.ckcss8 = QCheckBox('Test for Arbitrary Javascript (User provided)')
self.ckcss9 = QCheckBox('Test for iFrame of the web page')
self.ckcss10 = QCheckBox('Test for HTML5 Canvas element on the page')
self.ckcss11 = QCheckBox('Test for HTML5 SVG element on the page')
self.ckcss12 = QCheckBox('Test for HTML5 Audio element on the page')
self.ckcss13 = QCheckBox('Test for HTML5 Video element on the page')
self.ckcss14 = QCheckBox('Test for File Upload form on the page')
self.ckcss15 = QCheckBox('Add ChromeDriver path to sys.path')
self.webdriver = QComboBox()
self.webdriver.addItems(['firefox', 'chrome',
'zope.testbrowser', 'phantomjs'])
self.titletxt = QLineEdit('Google')
self.javascript = QLineEdit('console.log("test")')
self.authdata, self.formdata = QLineEdit(), QLineEdit()
self.authdata.setPlaceholderText("{'username':'root','password':'123'}")
self.formdata.setPlaceholderText("{'name': 'Joe', 'age': '25'}")
self.iframurl = QLineEdit()
self.chrmedrv = QLineEdit('/usr/bin/chromedriver')
self.timeout = QSpinBox()
self.timeout.setMaximum(99)
self.timeout.setMinimum(0)
self.timeout.setValue(9)
vboxg1 = QVBoxLayout(self.group1)
for each_widget in (self.ckcss1, self.ckcss2, self.ckcss3, self.ckcss4,
self.ckcss5, self.ckcss6, self.ckcss7, self.ckcss8, self.ckcss9,
self.ckcss10, self.ckcss11, self.ckcss12, self.ckcss13,
self.ckcss14, self.ckcss15, QLabel('<b>WebDriver'), self.webdriver,
QLabel('''<center><small><i>Firefox is only Driver that dont
require additional configuration'''),
QLabel('<b>Title Content must contain'), self.titletxt,
QLabel('<b>Minified Javascript for Test'), self.javascript,
QLabel('<b>Arbitrary Authentication Data for Test'), self.authdata,
QLabel('<b>Arbitrary Form Data for Test'), self.formdata,
QLabel('<b>iFrame URL for Test'), self.iframurl,
QLabel('<b>Chrome Driver'), self.chrmedrv,
QLabel('<b>Timeout Timer Limit'), self.timeout):
vboxg1.addWidget(each_widget)
try:
each_widget.setToolTip(each_widget.text())
except:
each_widget.setToolTip(each_widget.currentText())
self.group4 = QGroupBox()
self.group4.setTitle(' General ')
self.chckbx1 = QCheckBox('Run the Tests after Writing')
self.chckbx2 = QCheckBox('Open the Tests with Ninja after Writing')
self.chckbx3 = QCheckBox('Add SheBang, Encoding and Metadata to Tests')
self.nice = QSpinBox()
self.nice.setMaximum(20)
self.nice.setMinimum(0)
self.nice.setValue(20)
self.help1 = QLabel('''<a href="http://splinter.cobrateam.info/docs/api"
><center><b>API Reference</a>''')
self.help1.setTextInteractionFlags(Qt.LinksAccessibleByMouse)
self.help1.setOpenExternalLinks(True)
vboxg4 = QVBoxLayout(self.group4)
for each_widget in (self.chckbx1, self.chckbx2, self.chckbx3,
QLabel('Backend CPU priority:'), self.nice, self.help1):
vboxg4.addWidget(each_widget)
each_widget.setToolTip(each_widget.text())
#.........这里部分代码省略.........
示例13: buildUp
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
def buildUp(self):
for sect in list(self.backend.shared.settings.keys()):
scroll = QScrollArea(self.tabWidget)
widget = QWidget(self.tabWidget)
layout = QVBoxLayout(widget)
for key, value in list(self.backend.shared.settings[sect].items()):
if not type(key) is str:
continue
groupbox = QGroupBox(widget)
loadUi('GUI' + sep + 'settings_element.ui', groupbox)
if type(value) is str:
groupbox.comboBox.lineEdit().setText(value)
if key.endswith('directory'):
groupbox.toolButton.clicked.connect(
lambda y, x=groupbox.comboBox.lineEdit(): x.setText(
QFileDialog.getExistingDirectory(
self,
self.tr('Select path'),
options=QFileDialog.DontUseNativeDialog |
QFileDialog.ShowDirsOnly
)
)
)
elif key.endswith('file'):
groupbox.toolButton.clicked.connect(
lambda y, x=groupbox.comboBox.lineEdit(): x.setText(
QFileDialog.getOpenFileName(
self,
self.tr('Select file'),
filter=self.tr('All files(*)'),
options=QFileDialog.DontUseNativeDialog
)
)
)
else:
groupbox.toolButton.setShown(False)
self.saveButton.clicked.connect(
lambda x, y=key, z=groupbox.comboBox, s=sect:
self.backend.shared.settings[s].update({y:
z.lineEdit().text()}
)
)
elif type(value) is int:
groupbox.toolButton.setShown(False)
groupbox.comboBox.lineEdit().setValidator(
QIntValidator(groupbox))
groupbox.comboBox.lineEdit().setText(str(value))
self.saveButton.clicked.connect(
lambda x, y=key, z=groupbox.comboBox.lineEdit(), s=sect:
self.backend.shared.settings[s].update(
{y: int(z.text())}
)
)
elif type(value) is bool:
groupbox.comboBox.setShown(False)
groupbox.toolButton.setShown(False)
groupbox.setCheckable(True)
groupbox.setChecked(value)
self.saveButton.clicked.connect(
lambda x, y=key, z=groupbox.isChecked, s=sect:
self.backend.shared.settings[s].update({y:
z()}
)
)
elif type(value) is list:
groupbox.toolButton.setShown(False)
for item in self.backend.shared.settings[sect][tuple(key)]:
groupbox.comboBox.addItem(str(item))
groupbox.comboBox.lineEdit().setText(value[0])
self.saveButton.clicked.connect(
lambda x, y=key, z=groupbox.comboBox, s=sect:
self.backend.shared.settings[s].update({y:
[z.lineEdit().text()]}
)
)
else:
groupbox.toolButton.setShown(False)
groupbox.lineEdit.setText(self.tr('Incorrect value'))
groupbox.lineEdit.Enable(False)
groupbox.setTitle(self.tr(key))
layout.addWidget(groupbox)
if sect == 'Main':
self.tabWidget.insertTab(0, scroll, self.tr(sect))
else:
self.tabWidget.addTab(scroll, self.tr(sect))
scroll.setWidget(widget)
self.tabWidget.setCurrentIndex(0)
self.saveButton.clicked.connect(
lambda: self.backend.shared.save() or
self.backend.shared.load()
)
示例14: SphereWidget
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class SphereWidget(QWidget):
"""
Widget for editing sphere's parameters
"""
signalObjetChanged = pyqtSignal(SphereParam, name='signal_objet_changed')
def __init__(self, parent=None, param=None):
super(SphereWidget, self).__init__(parent)
if param is None:
self.param = SphereParam()
else:
self.param = param
gbC_lay = QVBoxLayout()
l_cmap = QLabel("Cmap ")
self.cmap = list(get_colormaps().keys())
self.combo = QComboBox(self)
self.combo.addItems(self.cmap)
self.combo.currentIndexChanged.connect(self.updateParam)
self.param.dict["colormap"] = self.cmap[0]
hbox = QHBoxLayout()
hbox.addWidget(l_cmap)
hbox.addWidget(self.combo)
gbC_lay.addLayout(hbox)
self.sp = []
# subdiv
lL = QLabel("subdiv")
self.sp.append(QSpinBox())
self.sp[-1].setMinimum(0)
self.sp[-1].setMaximum(6)
self.sp[-1].setValue(self.param.dict["subdiv"])
# Layout
hbox = QHBoxLayout()
hbox.addWidget(lL)
hbox.addWidget(self.sp[-1])
gbC_lay.addLayout(hbox)
# signal's
self.sp[-1].valueChanged.connect(self.updateParam)
# Banded
self.gbBand = QGroupBox(u"Banded")
self.gbBand.setCheckable(True)
hbox = QGridLayout()
lL = QLabel("nbr band", self.gbBand)
self.sp.append(QSpinBox(self.gbBand))
self.sp[-1].setMinimum(0)
self.sp[-1].setMaximum(100)
# Layout
hbox = QHBoxLayout()
hbox.addWidget(lL)
hbox.addWidget(self.sp[-1])
self.gbBand.setLayout(hbox)
gbC_lay.addWidget(self.gbBand)
# signal's
self.sp[-1].valueChanged.connect(self.updateParam)
self.gbBand.toggled.connect(self.updateParam)
gbC_lay.addStretch(1.0)
hbox = QHBoxLayout()
hbox.addLayout(gbC_lay)
self.setLayout(hbox)
self.updateMenu()
def updateParam(self, option):
"""
update param and emit a signal
"""
tab = ["subdiv", "nbr_band"]
for pos, name in enumerate(tab):
self.param.dict[name] = self.sp[pos].value()
self.param.dict["banded"] = self.gbBand.isChecked()
self.param.dict["colormap"] = self.combo.currentText()
# emit signal
self.signalObjetChanged.emit(self.param)
def updateMenu(self, param=None):
"""
Update menus
"""
if param is not None:
self.param = param
# Lock signals
self.blockSignals(True)
for wid in self.sp:
wid.blockSignals(True)
tab = ["subdiv", "nbr_band"]
for pos, name in enumerate(tab):
self.sp[pos].setValue(self.param.dict[name])
self.gbBand.setChecked(self.param.dict["banded"])
# unlock signals
self.blockSignals(False)
for wid in self.sp:
wid.blockSignals(False)
self.signalObjetChanged.emit(self.param)
示例15: EthernetEditor
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setCheckable [as 别名]
class EthernetEditor(QFrame):
def __init__(self, ethernet, parent=None):
QFrame.__init__(self, parent)
self.ethernet = ethernet
self.buildGUI()
self.fillValues()
def buildGUI(self):
#general setup
form = QFormLayout(self)
self.label = OptionnalLine(hint="Optional interface name")
form.addRow(self.tr("Interface name"), self.label)
self.speed_group = QButtonGroup()
self.speed_box = QGroupBox(tr("Force an ethernet speed"))
speed_layout = QVBoxLayout(self.speed_box)
self.speed_GFull = QRadioButton(tr("Gigabit full duplex"))
self.speed_GHalf = QRadioButton(tr("Gigabit half duplex"))
self.speed_100Full = QRadioButton(tr("100 Mb Full duplex"))
self.speed_100Half = QRadioButton(tr("100 Mb Half duplex"))
self.speed_10Full = QRadioButton(tr("10 Mb Full duplex"))
self.speed_10Half = QRadioButton(tr("10 Mb Half duplex"))
def toggle(value):
if value:
self.speed_GFull.click()
self.speed_box.setCheckable(True)
self.speed_box.setChecked(Qt.Unchecked)
self.connect(self.speed_box, SIGNAL('toggled(bool)'), toggle)
for item in (
self.speed_GFull,
self.speed_GHalf,
self.speed_100Full,
self.speed_100Half,
self.speed_10Full,
self.speed_10Half,
):
self.speed_group.addButton(item)
speed_layout.addWidget(item)
form.addRow(self.speed_box)
def fillValues(self):
name = self.ethernet.user_label
if name != "":
self.label.setText(name)
self.label.checkEmpty()
self.label.setStyleSheet('')
if self.ethernet.eth_auto:
self.speed_box.setChecked(Qt.Unchecked)
return
self.speed_box.setChecked(Qt.Checked)
if self.ethernet.eth_duplex == Ethernet.FULL:
if self.ethernet.eth_speed == 10:
button = self.speed_10Full
elif self.ethernet.eth_speed == 100:
button = self.speed_100Full
else:
button = self.speed_GFull
else:
if self.ethernet.eth_speed == 10:
button = self.speed_10Half
elif self.ethernet.eth_speed == 100:
button = self.speed_100Half
else:
button = self.speed_GHalf
button.setChecked(Qt.Checked)
def getConfig(self):
auto = not self.speed_box.isChecked()
if auto:
return True, None, None
selection = self.speed_group.checkedButton()
if selection is self.speed_GFull:
return False, 1000, Ethernet.FULL
elif self.speed_GHalf:
return False, 1000, Ethernet.HALF
elif self.speed_100Full:
return False, 100, Ethernet.FULL
elif self.speed_100Half:
return False, 100, Ethernet.HALF
elif self.speed_10Full:
return False, 10, Ethernet.FULL
elif self.speed_10Half:
return False, 10, Ethernet.HALF
assert False, "this selection is unknown"
def setName(self):
new_name = self.label.value()
#.........这里部分代码省略.........