本文整理汇总了Python中PyQt4.QtGui.QGroupBox.setEnabled方法的典型用法代码示例。如果您正苦于以下问题:Python QGroupBox.setEnabled方法的具体用法?Python QGroupBox.setEnabled怎么用?Python QGroupBox.setEnabled使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.QtGui.QGroupBox
的用法示例。
在下文中一共展示了QGroupBox.setEnabled方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [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: __init__
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [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 )
示例3: initUploadTab
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
def initUploadTab(self):
###Upload Tab###
upload_tab = QWidget()
upload_tab_layout = QVBoxLayout()
self.tabWidget.addTab(upload_tab, "Upload HITs")
# Frames Box
frames_box = QGroupBox()
frames_box.setTitle("Frame selection")
frames_layout = QVBoxLayout()
frames_label = QLabel("Select which frames to upload:")
frames_layout.addWidget(frames_label)
# Init list view
self.view = QListView()
frames_layout.addWidget(self.view)
upload_button = QPushButton("Upload HITs")
upload_button.clicked.connect(self.upload)
frames_layout.addWidget(upload_button)
frames_box.setLayout(frames_layout)
# MotionOptions Box
motionOptionsBox = QGroupBox()
motionOptionsBox.setTitle("Motion Annotation Options")
patchLabel = QLabel("Patch size: 50x50 Pixels")
motionOptionsBoxLayout = QHBoxLayout()
overlapping = QCheckBox("Overlapping Patches")
overlapping.clicked.connect(self.getBalance)
motionOptionsBoxLayout.addWidget(overlapping)
motionOptionsBoxLayout.addWidget(patchLabel)
motionOptionsBox.setLayout(motionOptionsBoxLayout)
# LayerOptions Box
options_box = QGroupBox()
options_box.setTitle('Layer Annotation Options')
blurLabel = QLabel("Amount: 4 Pixels")
options_box_layout = QHBoxLayout()
blur = QCheckBox("Blur Outlines")
options_box_layout.addWidget(blur)
options_box_layout.addWidget(blurLabel)
options_box.setLayout(options_box_layout)
# Disable not needed options
if self.segmentation_mode:
motionOptionsBox.setEnabled(False)
else:
options_box.setEnabled(False)
# Costs
costs_box = QGroupBox()
costs_box.setTitle('Costs')
costs_box_layout = QVBoxLayout()
self.credit_label = QLabel("Your current account balance is:")
self.costLabel = QLabel("Costs per frame:")
costs_box_layout.addWidget(self.credit_label)
costs_box_layout.addWidget(self.costLabel)
costs_box.setLayout(costs_box_layout)
# Upload Box
upload_tab_layout.addWidget(frames_box)
upload_tab_layout.addWidget(motionOptionsBox)
upload_tab_layout.addWidget(options_box)
upload_tab_layout.addWidget(costs_box)
upload_tab.setLayout(upload_tab_layout)
示例4: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
#.........这里部分代码省略.........
vboxg2 = QVBoxLayout(self.group2)
for each_widget in (
QLabel('Encoding'), self.ledEncoding,
QLabel('ServiceType'), self.ledServiceType,
QLabel('X-Plasma-API'), self.ledXPlasmaAPI,
QLabel('X-Plasma-MainScript'), self.ledXPlasmaMainScript,
QLabel('X-KDE-PluginInfo-Author'), self.ledXKDEPluginInfoAuthor,
QLabel('X-KDE-PluginInfo-Email'), self.ledXKDEPluginInfoEmail,
QLabel('X-KDE-PluginInfo-Name'), self.ledXKDEPluginInfoName,
QLabel('X-KDE-PluginInfo-Version'), self.ledXKDEPluginInfoVersion,
QLabel('X-KDE-PluginInfo-Website'), self.ledXKDEPluginInfoWebsite,
QLabel('X-KDE-PluginInfo-Category'), self.ledXKDEPluginInfoCategory,
QLabel('X-KDE-PluginInfo-Depends'), self.ledXKDEPluginInfoDepends,
QLabel('X-KDE-PluginInfo-License'), self.ledXKDEPluginInfoLicense,
QLabel('X-KDE-PluginInfo-EnabledByDefault'),
self.ledXKDEPluginInfoEnabledByDefault):
vboxg2.addWidget(each_widget)
# Ubuntu Unity
self.ledXAyatanaDesktopShortcuts = QLineEdit('Next;Previous')
self.checkbox1 = QCheckBox('Open .desktop file when done')
self.checkbox2 = QCheckBox('Make .desktop file Executable')
[a.setChecked(True) for a in (self.checkbox1, self.checkbox2)]
self.button = QPushButton(' Make .Desktop File ! ')
self.button.setMinimumSize(100, 50)
self.button.clicked.connect(self.writeFile)
glow = QGraphicsDropShadowEffect(self)
glow.setOffset(0)
glow.setBlurRadius(99)
glow.setColor(QColor(99, 255, 255))
self.button.setGraphicsEffect(glow)
glow.setEnabled(True)
class TransientWidget(QWidget):
' persistant widget thingy '
def __init__(self, widget_list):
' init sub class '
super(TransientWidget, self).__init__()
vbox = QVBoxLayout(self)
for each_widget in widget_list:
vbox.addWidget(each_widget)
tw = TransientWidget((self.chooser, self.group1, self.group2,
QLabel('X-Ayatana-Desktop-Shortcuts'),
self.ledXAyatanaDesktopShortcuts, QLabel(''),
self.checkbox1, self.checkbox2, self.button))
self.dock, self.scrollable = QDockWidget(), QScrollArea()
self.scrollable.setWidgetResizable(True)
self.scrollable.setWidget(tw)
self.dock.setWindowTitle(__doc__)
self.dock.setStyleSheet('QDockWidget::title{text-align: center;}')
self.dock.setWidget(self.scrollable)
ExplorerContainer().addTab(self.dock, "DotDesktop")
QPushButton(QIcon.fromTheme("help-about"), 'About', self.dock
).clicked.connect(lambda: QMessageBox.information(self.dock, __doc__,
''.join((__doc__, __version__, __license__, 'by', __author__))))
def writeFile(self):
' write the .desktop file to disk '
UNITY = ''.join(a for a in iter((
'OnlyShowIn=', str(self.ledOnlyShowIn.text()), linesep,
'NotShowIn=', str(self.ledNotShowIn.text()), linesep,
'X-Ayatana-Desktop-Shortcuts=',
示例5: ProxyConfigPage
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
#.........这里部分代码省略.........
grid1.addWidget(proxylabel,3,1)
hbox.addLayout(grid1)
hbox.addStretch(1)
self.gbox = QGroupBox('Proxy Configuration')
#dsu
subs = False
if pxytype == WFSDataStore.PROXY_TYPE[1]:
#system
self.systemradio.setChecked(True)
elif pxytype == WFSDataStore.PROXY_TYPE[2]:
#user_defined
self.usrdefradio.setChecked(True)
subs = True
else:
#direct (default)
self.directradio.setChecked(True)
self.setUserDefined(subs)
self.directradio.clicked.connect(self.disableUserDefined)
self.systemradio.clicked.connect(self.disableUserDefined)
self.usrdefradio.clicked.connect(self.enableUserDefined)
grid2.addWidget(hostLabel, 1, 0)
grid2.addWidget(self.hostEdit, 1, 2)
grid2.addWidget(portLabel, 2, 0)
grid2.addWidget(self.portEdit, 2, 2)
grid2.addWidget(authLabel, 3, 0)
grid2.addWidget(self.authSelect, 3, 2)
grid2.addWidget(usrLabel, 4, 0)
grid2.addWidget(self.usrEdit, 4, 2)
grid2.addWidget(pwdLabel, 5, 0)
grid2.addWidget(self.pwdEdit, 5, 2)
self.gbox.setLayout(grid2)
#layout
vbox = QVBoxLayout()
vbox.addLayout(hbox)
vbox.insertWidget(1,self.gbox)
self.setLayout(vbox)
def selectConfFile(self):
self.fileEdit.setText(QFileDialog.getOpenFileName())
def nextId(self):
#now go to selected dest configger
#return int(self.field("ldsdest").toString())
if self.testConnection():
return self.field("ldsdest")
return self.parent.plist.get('proxy')[0]
def disableUserDefined(self):
self.setUserDefined(False)
def enableUserDefined(self):
self.setUserDefined(True)
def setUserDefined(self,udval):
self.gbox.setEnabled(udval)
self.hostEdit.setEnabled(udval)
self.portEdit.setEnabled(udval)
self.authSelect.setEnabled(udval)
self.usrEdit.setEnabled(udval)
self.pwdEdit.setEnabled(udval)
def testConnection(self):
if not self.usrdefradio.isChecked():
return True
if not any(f for f in (self.hostEdit.isModified(),self.portEdit.isModified(),
self.usrEdit.isModified(),self.pwdEdit.isModified())):
return False
proxydata = {'type':'USER','host':str(self.hostEdit.text()),'port':str(self.portEdit.text()),
'auth':str(WFSDataStore.PROXY_AUTH[self.authSelect.currentIndex()-1]),
'user':str(self.usrEdit.text()),'pass':str(self.pwdEdit.text())}
wfsdata = {'key':'00112233445566778899aabbccddeeff'}#key not necessary but config tester checks format
lds = LDSDataStore(None,{'Proxy':proxydata,'WFS':wfsdata})
lds.applyConfigOptions()
try:
#use website likely to be up (that isn't LDS so error is distinct)
lds.initDS('http://www.google.com/',False)
except DatasourceConnectException as dce:
QMessageBox.warning(self, 'Connection Error', 'Cannot connect to network using proxy parameters provided {}'.format(dce), 'OK')
return False
except DatasourceOpenException as dse:
QMessageBox.info(self, 'Connection Warning', 'Connection parameters confirmed, Datasource initialisation untested. Continuing.\n{}'.format(dse), 'OK')
return True
except RuntimeError as rte:
QMessageBox.warning(self, 'RuntimeError', 'Error connecting to network: '+str(rte), 'OK')
return False
return True
示例6: Main
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [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_error)
self.sourceDirectory, self.outputDirectory = None, None
self.group2 = QGroupBox()
self.group2.setTitle(' Paths ')
self.inf = QLineEdit(path.expanduser("~"))
self.inf.setPlaceholderText(' /full/path/to/directory ')
self.out, self.fle = QLineEdit(path.expanduser("~")), QLineEdit()
self.out.setPlaceholderText(' /full/path/to/directory ')
self.fle.setPlaceholderText(' /full/path/to/single/file ')
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.inf.setCompleter(self.completer)
self.out.setCompleter(self.completer)
self.fle.setCompleter(self.completer)
self.open1 = QPushButton(QIcon.fromTheme("folder-open"), 'Open')
self.open1.setCursor(QCursor(Qt.PointingHandCursor))
self.open1.clicked.connect(lambda: self.inf.setText(str(
QFileDialog.getExistingDirectory(self.dock, "Open Source Directory",
path.expanduser("~")))))
self.open2 = QPushButton(QIcon.fromTheme("folder-open"), 'Open')
self.open2.setCursor(QCursor(Qt.PointingHandCursor))
self.open2.clicked.connect(lambda: self.out.setText(str(
QFileDialog.getExistingDirectory(self.dock, "Open Target Directory",
path.expanduser("~")))))
self.open3 = QPushButton(QIcon.fromTheme("folder-open"), 'Open')
self.open3.setCursor(QCursor(Qt.PointingHandCursor))
self.open3.clicked.connect(lambda: self.fle.setText(str(
QFileDialog.getOpenFileName(self.dock, "Open a Target File...",
path.expanduser("~"), ';;'.join(['{}(*.{})'.format(e.upper(), e)
for e in ['py', 'pyw', '*']])))))
vboxg2 = QVBoxLayout(self.group2)
for each_widget in (
QLabel('Source Directory Project:'), self.inf, self.open1,
QLabel(' Target Directory Outputs: '), self.out, self.open2,
QLabel(' Source Single File (Optional):'), self.fle, self.open3, ):
vboxg2.addWidget(each_widget)
self.group1 = QGroupBox()
self.group1.setTitle(' Options ')
self.chckbx1 = QCheckBox(' Inject Twitter Bootstrap CSS3 ')
self.chckbx1.toggled.connect(self.toggle_styles_group)
self.chckbx2 = QCheckBox(' Warn all missing references ')
self.chckbx3 = QCheckBox(' Open Docs when done building ')
self.chckbx4 = QCheckBox('Save Bash script to reproduce Sphinx Builds')
vboxg1 = QVBoxLayout(self.group1)
for each_widget in (self.chckbx1, self.chckbx2,
self.chckbx3, self.chckbx4):
vboxg1.addWidget(each_widget)
each_widget.setChecked(True)
self.group3 = QGroupBox()
self.group3.setTitle(' Styles ')
self.group3.setGraphicsEffect(QGraphicsBlurEffect(self))
self.group3.graphicsEffect().setEnabled(False)
self.basecss, self.fontcss = QComboBox(), QComboBox()
self.basecss.addItems(['slate', 'united', 'spacelab', 'superhero',
'simplex', 'journal', 'flatly', 'cyborg', 'cosmo', 'cerulean'])
self.fontcss.addItems(['Ubuntu Light', 'Oxygen', 'Roboto', 'Droid Sans',
'Open Sans', 'Pacifico', 'Rancho', 'Arvo', 'Fresca', 'Graduate'])
self.backcss = QComboBox()
self.backcss.addItems(['shattered', 'retina_wood', 'ricepaper',
'brickwall', 'sneaker_mesh_fabric', 'diagonales_decalees',
'noisy_grid', 'pw_pattern', 'escheresque', 'diamond_upholstery'])
vboxg3 = QVBoxLayout(self.group3)
for each_widget in (QLabel('<b>Twitter Bootstrap Theme'), self.basecss,
QLabel('<b>Fonts Family'), self.fontcss,
QLabel('<b>Background Seamless Tiled Pattern'), self.backcss):
vboxg3.addWidget(each_widget)
self.output = QTextEdit('''
My brain is something more than merely mortal; As time will show.
- Ada Lovelace ''')
self.output.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.button = QPushButton('Document My Code')
self.button.setCursor(QCursor(Qt.PointingHandCursor))
self.button.setMinimumSize(75, 50)
self.button.clicked.connect(self.build)
glow = QGraphicsDropShadowEffect(self)
glow.setOffset(0)
glow.setBlurRadius(99)
glow.setColor(QColor(99, 255, 255))
self.button.setGraphicsEffect(glow)
class TransientWidget(QWidget):
' persistant widget thingy '
#.........这里部分代码省略.........
示例7: NetWorkSettingWidget
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
#.........这里部分代码省略.........
return typeList
def getNetStatic(self):
netList = ["0.0.0.0","255.255.255.0","1.1.1.1"]
networkInfo = self.getCmdExecValueT("../lib/ccr_jytcapi network")
for item in networkInfo:
if len(item.split(":")) == 2:
if item.split(":")[0] == "ip":
netList[0] = item.split(":")[1]
elif item.split(":")[0] == "mask":
netList[1] = item.split(":")[1]
elif item.split(":")[0] == "gateway":
netList[2] = item.split(":")[1]
return netList
def getDnsStatic(self):
dnsList = ["0.0.0.0","2.5.5.0"]
networkInfo = self.getCmdExecValueT("../lib/ccr_jytcapi network")
for item in networkInfo:
if len(item.split(":")) == 2:
if item.split(":")[0] == "dns1":
dnsList[0] = item.split(":")[1]
elif item.split(":")[0] == "dns2":
dnsList[1] = item.split(":")[1]
return dnsList
def initCheckBoxStatus(self):
"""读取网络配置文件,初始化相应的checkbox的状态"""
[netType, DNSType] = self.getNetDnsType()
if netType == "dhcp":
self.autoGetIpCheckbox.setChecked(True)
self.staticIpGroupbox.setChecked(False)
self.autoGetDNSCheckBox.setEnabled(False)
self.dnsServerAddressGroupbox.setEnabled(False)
else:
self.autoGetIpCheckbox.setChecked(False)
self.staticIpGroupbox.setChecked(True)
self.autoGetDNSCheckBox.setEnabled(True)
self.dnsServerAddressGroupbox.setEnabled(True)
[ip, netmask, gateway] = self.getNetStatic()
if ip:
self.ip.setText(ip)
if netmask:
self.netmast.setText(netmask)
if gateway:
self.defaultGateway.setText(gateway)
if DNSType == "dhcp":
self.autoGetDNSCheckBox.setChecked(True)
self.dnsServerAddressGroupbox.setChecked(False)
else:
self.autoGetDNSCheckBox.setChecked(False)
self.dnsServerAddressGroupbox.setChecked(True)
[DNS_first, DNS_second] = self.getDnsStatic()
if DNS_first:
self.dns.setText(DNS_first)
if DNS_second:
self.backupDns.setText(DNS_second)
def getCustomDNSInfo(self):
示例8: _init_layout
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
def _init_layout(self):
"""
Create the GUI widgets (but leave them empty).
"""
hostname_combobox = QComboBox(parent=self)
self._hostname_combobox = hostname_combobox
hostname_combobox.setEditable(True)
hostname_combobox.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Maximum )
for hostname in self._suggested_hostnames:
hostname_combobox.addItem( hostname )
# EventFilter is installed after everything else is initialized. (See below.)
#hostname_combobox.installEventFilter(self)
self._connect_button = QPushButton("Connect", parent=self, clicked=self._handle_new_hostname)
hostname_layout = QHBoxLayout()
hostname_layout.addWidget( hostname_combobox )
hostname_layout.addWidget( self._connect_button )
hostinfo_table = QTableWidget()
hostinfo_table.setColumnCount(len(SERVER_INFO_FIELDS))
hostinfo_table.setHorizontalHeaderLabels(SERVER_INFO_FIELDS)
hostinfo_table.horizontalHeader().setVisible(True)
hostinfo_table.verticalHeader().setVisible(False)
hostinfo_table.setRowCount(1)
hostinfo_table.setItem(0,0, QTableWidgetItem("Placeholder"))
hostinfo_table.setVisible(False)
hostinfo_table.resizeRowsToContents()
hostinfo_table.horizontalHeader().setStretchLastSection(True)
table_height = hostinfo_table.verticalHeader().sectionSize(0) + hostinfo_table.rowHeight(0)
hostinfo_table.resize( QSize( hostinfo_table.width(), table_height ) )
hostinfo_table.setMaximumSize( QSize( 1000, table_height ) )
hostinfo_table.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed)
host_layout = QVBoxLayout()
host_layout.addLayout(hostname_layout)
host_layout.addWidget(hostinfo_table)
host_groupbox = QGroupBox("DVID Host", parent=self)
host_groupbox.setLayout( host_layout )
host_groupbox.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Preferred )
repo_treewidget = QTreeWidget(parent=self)
repo_treewidget.setHeaderLabels( TREEVIEW_COLUMNS ) # TODO: Add type, shape, axes, etc.
repo_treewidget.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Preferred )
repo_treewidget.itemSelectionChanged.connect( self._handle_data_selection )
data_layout = QVBoxLayout()
data_layout.addWidget( repo_treewidget )
data_groupbox = QGroupBox("Data Volumes", parent=self)
data_groupbox.setLayout( data_layout )
node_listwidget = QListWidget(parent=self)
node_listwidget.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Preferred )
node_listwidget.itemSelectionChanged.connect( self._update_status )
node_layout = QVBoxLayout()
node_layout.addWidget( node_listwidget )
node_groupbox = QGroupBox("Nodes", parent=self)
node_groupbox.setLayout( node_layout )
new_data_edit = QLineEdit(parent=self)
new_data_edit.textEdited.connect( self._update_status )
full_url_label = QLabel(parent=self)
full_url_label.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Maximum )
text_flags = full_url_label.textInteractionFlags()
full_url_label.setTextInteractionFlags( text_flags | Qt.TextSelectableByMouse )
new_data_layout = QVBoxLayout()
new_data_layout.addWidget( new_data_edit )
new_data_groupbox = QGroupBox("New Data Volume", parent=self)
new_data_groupbox.setLayout( new_data_layout )
new_data_groupbox.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Maximum )
buttonbox = QDialogButtonBox( Qt.Horizontal, parent=self )
buttonbox.setStandardButtons( QDialogButtonBox.Ok | QDialogButtonBox.Cancel )
buttonbox.accepted.connect( self.accept )
buttonbox.rejected.connect( self.reject )
buttonbox.button(QDialogButtonBox.Ok).setEnabled(False)
layout = QVBoxLayout()
layout.addWidget( host_groupbox )
layout.addWidget( data_groupbox )
layout.addWidget( node_groupbox )
if self._mode == "specify_new":
layout.addWidget( new_data_groupbox )
else:
new_data_groupbox.hide()
layout.addWidget( full_url_label )
layout.addWidget( buttonbox )
# Stretch factors
layout.setStretchFactor(data_groupbox, 3)
layout.setStretchFactor(node_groupbox, 1)
self.setLayout(layout)
self.setWindowTitle( "Select DVID Volume" )
self.resize(1000, 1000)
#.........这里部分代码省略.........
示例9: mainwindow
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
class mainwindow(QtGui.QMainWindow):
'''主窗体'''
def __init__(self):
super(mainwindow,self).__init__()
self.setWindowTitle('组件设计工具')
self.showMaximized()
self.menuBar().show()
self.createMenus()
cwHLayout = QHBoxLayout()
lLayout = QVBoxLayout()
rLayout = QVBoxLayout()
self.lw = QListWidget()
self.lw.setSelectionMode(QAbstractItemView.SingleSelection )
lLayout.addWidget(self.lw)
self.lw.itemSelectionChanged.connect(self.on_select)
lGroup = QGroupBox('项目列表')
lGroup.setLayout(lLayout)
cwHLayout.addWidget(lGroup,2)
cwHLayout.addLayout(rLayout,8)
tLayout = QVBoxLayout()
bLayout = QVBoxLayout()
tGroup = QGroupBox('配置信息')
self.bGroup = QGroupBox('生成代码')
tGroup.setLayout(tLayout)
self.bGroup.setLayout(bLayout)
self.bGroup.setEnabled(False)
rLayout.addWidget(tGroup)
rLayout.addWidget(self.bGroup)
self.tw_config = QTreeWidget()
headerLabels = QStringList()
headerLabels.append('项目')
headerLabels.append('值')
self.tw_config.setHeaderLabels(headerLabels)
thLayout = QHBoxLayout()
thLayout.addStretch(0)
modify_btn = QPushButton('修改')
modify_btn.clicked.connect(self.on_modify)
del_btn = QPushButton('删除')
del_btn.clicked.connect(self.on_del)
thLayout.addWidget(modify_btn)
thLayout.addWidget(del_btn)
tLayout.addWidget(self.tw_config)
tLayout.addLayout(thLayout)
bhLayout = QHBoxLayout()
bhLayout.addStretch(0)
gen_btn = QPushButton('生成')
gen_btn.clicked.connect(self.on_gen)
bhLayout.addWidget(gen_btn)
row1 = QHBoxLayout()
lable1 = QLabel('工程名称:')
self.et_project_name = QLineEdit()
row1.addSpacing(10)
row1.addWidget(lable1)
row1.addWidget(self.et_project_name)
row1.addStretch(0)
row2 = QHBoxLayout()
lable2 = QLabel('工程位置:')
self.et_project_location = QLineEdit()
self.et_project_location.setReadOnly(True)
btn_location = QPushButton('...')
btn_location.setFixedWidth(50)
btn_location.clicked.connect(self.getProjectLocation)
row2.addSpacing(10)
row2.addWidget(lable2)
row2.addWidget(self.et_project_location)
row2.addWidget(btn_location)
row2.addStretch(0)
bLayout.addLayout(row1)
bLayout.addLayout(row2)
bLayout.addLayout(bhLayout)
cw = QWidget()
cw.setLayout(cwHLayout)
self.setCentralWidget(cw)
self._initByConfig()
self.setMinimumSize(400,200)
def _initByConfig(self):
'''初始化'''
pass
def createMenus(self):
'''创建菜单'''
menueBar = self.menuBar()
menuSys = menueBar.addMenu('系统')
actNew = menuSys.addAction('新建工程')
actOpen = menuSys.addAction('打开工程')
#.........这里部分代码省略.........
示例10: AuthenticationFrontend
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
#.........这里部分代码省略.........
if self.__loading:
return
if isModified:
self.modified = True
self.mainwindow.setModified(self, True)
if message:
self.mainwindow.addToInfoArea(message)
else:
self.modified = False
def setModifiedCallback(self, *unused):
self.setModified()
def isModified(self):
return self.modified
def saveConf(self, message):
self.qauthcertobject.auth_cert.auth_by_cert = self.auth_by_cert.checkedId()
conf = self.pki_widget.getConfig()
self.qauthcertobject.auth_cert.setSSLDict(conf)
serialized = self.qauthcertobject.auth_cert.serialize(downgrade=True)
self.client.call('auth_cert', 'setAuthCertConfig', serialized, message)
def resetConf(self):
auth_cert_loaded = self._reset_helper(
'auth_cert',
'getAuthCertConfig',
self.qauthcertobject,
tr("Authentication interface enabled"),
tr("Authentication disabled: backend not loaded")
)
self.setModified(False)
remote = self.qauthcertobject.auth_cert.getReceivedSerialVersion()
if remote < 3:
self.mainwindow.addWarningMessage(tr('Captive portal configuration disabled: this frontend and your appliance software versions are not compatible.'))
enable_portal = (
auth_cert_loaded
and EDENWALL
and remote >= 3
)
self.portal_groupbox.setVisible(enable_portal)
if not auth_cert_loaded:
return
self.strictCheckBox.setChecked(self.qauthcertobject.auth_cert.strict)
if not self.qauthcertobject.auth_cert.auth_by_cert:
self.qauthcertobject.auth_cert.auth_by_cert = 0
self.auth_by_cert.button(
self.qauthcertobject.auth_cert.auth_by_cert).setChecked(True)
# Captive portal:
self.portal_checkbox.setChecked(
self.qauthcertobject.auth_cert.portal_enabled)
self.portal_nets_edit.setIpAddrs(
self.qauthcertobject.auth_cert.portal_nets)
# Certificate (PKI):
pki_conf = self.qauthcertobject.auth_cert.getSSLDict()
self.pki_widget.setConfig(pki_conf)
def error(self, message):
self.mainwindow.addToInfoArea(message, category=COLOR_ERROR)
def auth_by_cert_modified(self, idbox):
button_name = self.auth_by_cert.button(idbox).text()
info = tr("Certificates - Authentication with client certificate : '%s'") % button_name
self.setModified(message=info)
def setPortalEnabled(self, value):
if value != self.qauthcertobject.auth_cert.portal_enabled:
self.qauthcertobject.auth_cert.setPortalEnabled(value)
self.setModified()
def setPortalNets(self):
if self.portal_nets_edit.isValid():
self.qauthcertobject.auth_cert.setPortalNets(
self.portal_nets_edit.value())
self.setModified()
def setStrict(self, value):
if value != self.qauthcertobject.auth_cert.strict:
self.qauthcertobject.auth_cert.setStrict(value)
self.setModified()
self.cl_auth_box.setEnabled(value)
def isValid(self):
cert_validity = self.pki_widget.validate()
if cert_validity is not None:
self.error_message = '<br/>' + cert_validity + '<br/>'
self.mainwindow.addToInfoArea(cert_validity, category=COLOR_ERROR)
return False
return True
def onApplyFinished(self):
self.pki_widget.feed()
示例11: _init_layout
# 需要导入模块: from PyQt4.QtGui import QGroupBox [as 别名]
# 或者: from PyQt4.QtGui.QGroupBox import setEnabled [as 别名]
def _init_layout(self):
"""
Create the GUI widgets (but leave them empty).
"""
hostname_combobox = QComboBox(parent=self)
self._hostname_combobox = hostname_combobox
hostname_combobox.setEditable(True)
hostname_combobox.setSizePolicy( QSizePolicy.Expanding, QSizePolicy.Maximum )
hostname_combobox.installEventFilter(self)
for hostname in self._suggested_hostnames:
hostname_combobox.addItem( hostname )
self._connect_button = QPushButton("Connect", parent=self, clicked=self._handle_new_hostname)
hostname_layout = QHBoxLayout()
hostname_layout.addWidget( hostname_combobox )
hostname_layout.addWidget( self._connect_button )
hostname_groupbox = QGroupBox("DVID Host", parent=self)
hostname_groupbox.setLayout( hostname_layout )
hostname_groupbox.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Maximum )
data_treewidget = QTreeWidget(parent=self)
data_treewidget.setHeaderLabels( ["Data"] ) # TODO: Add type, shape, axes, etc.
data_treewidget.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Preferred )
data_treewidget.itemSelectionChanged.connect( self._handle_data_selection )
data_layout = QVBoxLayout()
data_layout.addWidget( data_treewidget )
data_groupbox = QGroupBox("Data Volumes", parent=self)
data_groupbox.setLayout( data_layout )
node_listwidget = QListWidget(parent=self)
node_listwidget.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Preferred )
node_listwidget.itemSelectionChanged.connect( self._update_display )
node_layout = QVBoxLayout()
node_layout.addWidget( node_listwidget )
node_groupbox = QGroupBox("Nodes", parent=self)
node_groupbox.setLayout( node_layout )
new_data_edit = QLineEdit(parent=self)
new_data_edit.textEdited.connect( self._update_display )
full_url_label = QLabel(parent=self)
full_url_label.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Maximum )
text_flags = full_url_label.textInteractionFlags()
full_url_label.setTextInteractionFlags( text_flags | Qt.TextSelectableByMouse )
new_data_layout = QVBoxLayout()
new_data_layout.addWidget( new_data_edit )
new_data_groupbox = QGroupBox("New Data Volume", parent=self)
new_data_groupbox.setLayout( new_data_layout )
new_data_groupbox.setSizePolicy( QSizePolicy.Preferred, QSizePolicy.Maximum )
buttonbox = QDialogButtonBox( Qt.Horizontal, parent=self )
buttonbox.setStandardButtons( QDialogButtonBox.Ok | QDialogButtonBox.Cancel )
buttonbox.accepted.connect( self.accept )
buttonbox.rejected.connect( self.reject )
buttonbox.button(QDialogButtonBox.Ok).setEnabled(False)
layout = QVBoxLayout()
layout.addWidget( hostname_groupbox )
layout.addWidget( data_groupbox )
layout.addWidget( node_groupbox )
if self._mode == "specify_new":
layout.addWidget( new_data_groupbox )
else:
new_data_groupbox.hide()
layout.addWidget( full_url_label )
layout.addWidget( buttonbox )
# Stretch factors
layout.setStretchFactor(data_groupbox, 3)
layout.setStretchFactor(node_groupbox, 1)
self.setLayout(layout)
self.setWindowTitle( "Select DVID Volume" )
# Initially disabled
data_groupbox.setEnabled(False)
node_groupbox.setEnabled(False)
new_data_groupbox.setEnabled(False)
# Save instance members
self._data_groupbox = data_groupbox
self._node_groupbox = node_groupbox
self._new_data_groupbox = new_data_groupbox
self._data_treewidget = data_treewidget
self._node_listwidget = node_listwidget
self._new_data_edit = new_data_edit
self._full_url_label = full_url_label
self._buttonbox = buttonbox