本文整理汇总了Python中PyQt4.Qt.QListWidget.addItem方法的典型用法代码示例。如果您正苦于以下问题:Python QListWidget.addItem方法的具体用法?Python QListWidget.addItem怎么用?Python QListWidget.addItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt4.Qt.QListWidget
的用法示例。
在下文中一共展示了QListWidget.addItem方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PrefsViewerDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class PrefsViewerDialog(SizePersistedDialog):
def __init__(self, gui, namespace):
SizePersistedDialog.__init__(self, gui, 'Prefs Viewer dialog')
self.setWindowTitle('Preferences for: '+namespace)
self.db = gui.current_db
self.namespace = namespace
self._init_controls()
self.resize_dialog()
self._populate_settings()
if self.keys_list.count():
self.keys_list.setCurrentRow(0)
def _init_controls(self):
layout = QVBoxLayout(self)
self.setLayout(layout)
ml = QHBoxLayout()
layout.addLayout(ml, 1)
self.keys_list = QListWidget(self)
self.keys_list.setSelectionMode(QAbstractItemView.SingleSelection)
self.keys_list.setFixedWidth(150)
self.keys_list.setAlternatingRowColors(True)
ml.addWidget(self.keys_list)
self.value_text = QTextEdit(self)
self.value_text.setTabStopWidth(24)
self.value_text.setReadOnly(True)
ml.addWidget(self.value_text, 1)
button_box = QDialogButtonBox(QDialogButtonBox.Ok)
button_box.accepted.connect(self.accept)
button_box.setCenterButtons(True)
layout.addWidget(button_box)
def _populate_settings(self):
self.keys_list.clear()
ns_prefix = 'namespaced:%s:'% self.namespace
keys = sorted([k[len(ns_prefix):] for k in self.db.prefs.iterkeys()
if k.startswith(ns_prefix)])
for key in keys:
self.keys_list.addItem(key)
self.keys_list.setMinimumWidth(self.keys_list.sizeHintForColumn(0))
self.keys_list.currentRowChanged[int].connect(self._current_row_changed)
def _current_row_changed(self, new_row):
if new_row < 0:
self.value_text.clear()
return
key = unicode(self.keys_list.currentItem().text())
val = self.db.prefs.get_namespaced(self.namespace, key, '')
self.value_text.setPlainText(self.db.prefs.to_raw(val))
示例2: SearchDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class SearchDialog(SizePersistedDialog):
def __init__(self, parent=None, func=None, title="Search"):
SizePersistedDialog.__init__(self, parent, 'arg plugin:search dialog')
self.setWindowTitle(title)
self.gui = parent
self.func = func
layout = QVBoxLayout(self)
self.setLayout(layout)
self.search_label = QLabel(title)
layout.addWidget(self.search_label)
self.search_str = QLineEdit(self)
self.search_str.setText('')
layout.addWidget(self.search_str)
self.search_label.setBuddy(self.search_str)
self.find_button = QPushButton("&Find")
self.search_button_box = QDialogButtonBox(Qt.Horizontal)
self.search_button_box.addButton(self.find_button, QDialogButtonBox.ActionRole)
self.search_button_box.clicked.connect(self._find_clicked)
layout.addWidget(self.search_button_box)
self.values_list = QListWidget(self)
# for multiple selection
#self.values_list.setSelectionMode(QAbstractItemView.ExtendedSelection)
layout.addWidget(self.values_list)
self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.button_box.accepted.connect(self._accept_clicked)
self.button_box.rejected.connect(self.reject)
layout.addWidget(self.button_box)
# Cause our dialog size to be restored from prefs or created on first usage
self.resize_dialog()
def _display_choices(self, choices):
self.values_list.clear()
for id, name in choices.items():
item = QListWidgetItem(get_icon('images/books.png'), name, self.values_list)
item.setData(1, (id,))
self.values_list.addItem(item)
def _find_clicked(self):
query = unicode(self.search_str.text())
self._display_choices(self.func(query))
def _accept_clicked(self):
#self._save_preferences()
self.selected_result = None
if self.values_list.currentItem():
i = self.values_list.currentItem()
self.selected_result = (i.data(1)[0], i.text())
self.accept()
示例3: ChoosePluginToolbarsDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class ChoosePluginToolbarsDialog(QDialog):
def __init__(self, parent, plugin, locations):
QDialog.__init__(self, parent)
self.locations = locations
self.setWindowTitle(
_('Add "%s" to toolbars or menus')%plugin.name)
self._layout = QVBoxLayout(self)
self.setLayout(self._layout)
self._header_label = QLabel(
_('Select the toolbars and/or menus to add <b>%s</b> to:') %
plugin.name)
self._layout.addWidget(self._header_label)
self._locations_list = QListWidget(self)
self._locations_list.setSelectionMode(QAbstractItemView.MultiSelection)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
QtGui.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
self._locations_list.setSizePolicy(sizePolicy)
for key, text in locations:
self._locations_list.addItem(text)
if key in {'toolbar', 'toolbar-device'}:
self._locations_list.item(self._locations_list.count()-1
).setSelected(True)
self._layout.addWidget(self._locations_list)
self._footer_label = QLabel(
_('You can also customise the plugin locations '
'using <b>Preferences -> Customise the toolbar</b>'))
self._layout.addWidget(self._footer_label)
button_box = QDialogButtonBox(QDialogButtonBox.Ok |
QDialogButtonBox.Cancel)
button_box.accepted.connect(self.accept)
button_box.rejected.connect(self.reject)
self._layout.addWidget(button_box)
self.resize(self.sizeHint())
def selected_locations(self):
selected = []
for row in self._locations_list.selectionModel().selectedRows():
selected.append(self.locations[row.row()])
return selected
示例4: ChooseFormatToDownloadDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class ChooseFormatToDownloadDialog(SizePersistedDialog):
def __init__(self, parent=None, dm=None, casanova_id=None):
SizePersistedDialog.__init__(self, parent, 'casanova plugin:format download dialog')
self.setWindowTitle('Select format to download:')
self.gui = parent
self.dm = dm
self.casanova_id = casanova_id
layout = QVBoxLayout(self)
self.setLayout(layout)
self.values_list = QListWidget(self)
self.values_list.setSelectionMode(QAbstractItemView.ExtendedSelection)
layout.addWidget(self.values_list)
self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.button_box.accepted.connect(self._accept_clicked)
self.button_box.rejected.connect(self.reject)
layout.addWidget(self.button_box)
self._display_formats()
# Cause our dialog size to be restored from prefs or created on first usage
self.resize_dialog()
def _display_formats(self):
self.values_list.clear()
formats = self.dm.get_download_info(self.casanova_id)
if isinstance(formats, list):
for format in formats:
item = QListWidgetItem(get_icon('images/books.png'), format['type'], self.values_list)
item.setData(1, (format,))
self.values_list.addItem(item)
else:
return error_dialog(self.gui, 'Casanova message', unicode(formats), show=True)
def _accept_clicked(self):
#self._save_preferences()
self.selected_format = None
for item in self.values_list.selectedItems():
self.selected_format = item.data(1).toPyObject()[0]
self.accept()
示例5: __init__
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
def __init__(self, dev, ignored_folders=None, parent=None):
QDialog.__init__(self, parent)
self.l = l = QVBoxLayout()
self.setLayout(l)
self.la = la = QLabel(
"<p>"
+ _("<b>Scanned folders:</b>")
+ " "
+ _("You can select which top level folders calibre will " "scan when searching this device for books.")
)
la.setWordWrap(True)
l.addWidget(la)
self.tabs = QTabWidget(self)
l.addWidget(self.tabs)
self.widgets = []
for storage in dev.filesystem_cache.entries:
w = QListWidget(self)
w.storage = storage
self.tabs.addTab(w, storage.name)
self.widgets.append(w)
for child in sorted(storage.folders, key=attrgetter("name")):
i = QListWidgetItem(child.name)
i.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
i.setCheckState(
Qt.Unchecked
if dev.is_folder_ignored(storage, child.name, ignored_folders=ignored_folders)
else Qt.Checked
)
w.addItem(i)
self.bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.bb.accepted.connect(self.accept)
self.bb.rejected.connect(self.reject)
self.sab = self.bb.addButton(_("Select &All"), self.bb.ActionRole)
self.sab.clicked.connect(self.select_all)
self.snb = self.bb.addButton(_("Select &None"), self.bb.ActionRole)
self.snb.clicked.connect(self.select_none)
l.addWidget(self.bb)
self.setWindowTitle(_("Choose folders to scan"))
self.setWindowIcon(QIcon(I("devices/tablet.png")))
self.resize(500, 500)
示例6: ChooseIssuesToUpdateDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class ChooseIssuesToUpdateDialog(SizePersistedDialog):
def __init__(self, parent=None, mm=None):
SizePersistedDialog.__init__(self, parent, 'casanova plugin:issues update dialog')
self.setWindowTitle('Select issues to update:')
self.gui = parent
self.mm = mm
layout = QVBoxLayout(self)
self.setLayout(layout)
self.values_list = QListWidget(self)
self.values_list.setSelectionMode(QAbstractItemView.ExtendedSelection)
layout.addWidget(self.values_list)
self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.button_box.accepted.connect(self._accept_clicked)
self.button_box.rejected.connect(self.reject)
layout.addWidget(self.button_box)
self._display_issues()
# Cause our dialog size to be restored from prefs or created on first usage
self.resize_dialog()
def _display_issues(self):
self.values_list.clear()
issues = self.mm.get_all_issues(True)
for id, issue in issues:
item = QListWidgetItem(get_icon('images/books.png'), issue, self.values_list)
item.setData(1, (id,))
self.values_list.addItem(item)
def _accept_clicked(self):
#self._save_preferences()
self.selected_issues = []
for item in self.values_list.selectedItems():
self.selected_issues.append(item.data(1).toPyObject()[0])
self.accept()
示例7: AddBookDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class AddBookDialog(SizePersistedDialog):
def __init__(self, parent=None, mm=None, mi = None):
SizePersistedDialog.__init__(self, parent, 'casanova plugin:add book dialog')
self.setWindowTitle('Add text to Casanova:')
self.gui = parent
self.mm = mm
self.mi = mi
self.one_line_description = ''
layout = QVBoxLayout(self)
self.setLayout(layout)
self.one_liner_label = QLabel('Enter a short description (255 chars max) before pressing OK')
layout.addWidget(self.one_liner_label)
self.one_liner_str = QLineEdit(self)
self.one_liner_str.setText('')
layout.addWidget(self.one_liner_str)
self.one_liner_label.setBuddy(self.one_liner_str)
self.values_label = QLabel('Below are potential matches of texts that already exist - please make sure you are adding something new')
layout.addWidget(self.values_label)
self.values_list = QListWidget(self)
self.values_list.setSelectionMode(QAbstractItemView.ExtendedSelection)
layout.addWidget(self.values_list)
self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.button_box.accepted.connect(self._accept_clicked)
self.button_box.rejected.connect(self.reject)
layout.addWidget(self.button_box)
self._display_choices()
# Cause our dialog size to be restored from prefs or created on first usage
self.resize_dialog()
def _display_choices(self):
self.values_list.clear()
choices = self.mm.search(self.mi.title)
if choices is None or len(choices)==0:
item = QListWidgetItem(get_icon('images/books.png'), _('there seem to be no matches'), self.values_list)
self.values_list.addItem(item)
for id, name in choices.items():
item = QListWidgetItem(get_icon('images/books.png'), name, self.values_list)
item.setData(1, (id,))
self.values_list.addItem(item)
def _accept_clicked(self):
#self._save_preferences()
one_liner = unicode(self.one_liner_str.text())
if one_liner=='':
self.values_list.clear()
item = QListWidgetItem(get_icon('images/books.png'), _('you need to enter a short description'), self.values_list)
self.values_list.addItem(item)
else:
self.one_line_description = one_liner
self.accept()
示例8: ManageKeysDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class ManageKeysDialog(QDialog):
def __init__(self, parent, key_type_name, plugin_keys, create_key, keyfile_ext = u""):
QDialog.__init__(self,parent)
self.parent = parent
self.key_type_name = key_type_name
self.plugin_keys = plugin_keys
self.create_key = create_key
self.keyfile_ext = keyfile_ext
self.import_key = (keyfile_ext != u"")
self.binary_file = (key_type_name == u"Adobe Digital Editions Key")
self.json_file = (key_type_name == u"Kindle for Mac and PC Key")
self.setWindowTitle("{0} {1}: Manage {2}s".format(PLUGIN_NAME, PLUGIN_VERSION, self.key_type_name))
# Start Qt Gui dialog layout
layout = QVBoxLayout(self)
self.setLayout(layout)
help_layout = QHBoxLayout()
layout.addLayout(help_layout)
# Add hyperlink to a help file at the right. We will replace the correct name when it is clicked.
help_label = QLabel('<a href="http://www.foo.com/">Help</a>', self)
help_label.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.LinksAccessibleByKeyboard)
help_label.setAlignment(Qt.AlignRight)
help_label.linkActivated.connect(self.help_link_activated)
help_layout.addWidget(help_label)
keys_group_box = QGroupBox(_(u"{0}s".format(self.key_type_name)), self)
layout.addWidget(keys_group_box)
keys_group_box_layout = QHBoxLayout()
keys_group_box.setLayout(keys_group_box_layout)
self.listy = QListWidget(self)
self.listy.setToolTip(u"{0}s that will be used to decrypt ebooks".format(self.key_type_name))
self.listy.setSelectionMode(QAbstractItemView.SingleSelection)
self.populate_list()
keys_group_box_layout.addWidget(self.listy)
button_layout = QVBoxLayout()
keys_group_box_layout.addLayout(button_layout)
self._add_key_button = QtGui.QToolButton(self)
self._add_key_button.setToolTip(u"Create new {0}".format(self.key_type_name))
self._add_key_button.setIcon(QIcon(I('plus.png')))
self._add_key_button.clicked.connect(self.add_key)
button_layout.addWidget(self._add_key_button)
self._delete_key_button = QtGui.QToolButton(self)
self._delete_key_button.setToolTip(_(u"Delete highlighted key"))
self._delete_key_button.setIcon(QIcon(I('list_remove.png')))
self._delete_key_button.clicked.connect(self.delete_key)
button_layout.addWidget(self._delete_key_button)
if type(self.plugin_keys) == dict:
self._rename_key_button = QtGui.QToolButton(self)
self._rename_key_button.setToolTip(_(u"Rename highlighted key"))
self._rename_key_button.setIcon(QIcon(I('edit-select-all.png')))
self._rename_key_button.clicked.connect(self.rename_key)
button_layout.addWidget(self._rename_key_button)
self.export_key_button = QtGui.QToolButton(self)
self.export_key_button.setToolTip(u"Save highlighted key to a .{0} file".format(self.keyfile_ext))
self.export_key_button.setIcon(QIcon(I('save.png')))
self.export_key_button.clicked.connect(self.export_key)
button_layout.addWidget(self.export_key_button)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
button_layout.addItem(spacerItem)
layout.addSpacing(5)
migrate_layout = QHBoxLayout()
layout.addLayout(migrate_layout)
if self.import_key:
migrate_layout.setAlignment(Qt.AlignJustify)
self.migrate_btn = QPushButton(u"Import Existing Keyfiles", self)
self.migrate_btn.setToolTip(u"Import *.{0} files (created using other tools).".format(self.keyfile_ext))
self.migrate_btn.clicked.connect(self.migrate_wrapper)
migrate_layout.addWidget(self.migrate_btn)
migrate_layout.addStretch()
self.button_box = QDialogButtonBox(QDialogButtonBox.Close)
self.button_box.rejected.connect(self.close)
migrate_layout.addWidget(self.button_box)
self.resize(self.sizeHint())
def populate_list(self):
if type(self.plugin_keys) == dict:
for key in self.plugin_keys.keys():
self.listy.addItem(QListWidgetItem(key))
else:
for key in self.plugin_keys:
self.listy.addItem(QListWidgetItem(key))
def add_key(self):
d = self.create_key(self)
d.exec_()
if d.result() != d.Accepted:
# New key generation cancelled.
return
new_key_value = d.key_value
if type(self.plugin_keys) == dict:
#.........这里部分代码省略.........
示例9: PluginObject
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
#.........这里部分代码省略.........
self.segOrdListBox = QListWidget()
self.segOrdListBox.customContextMenuRequested.connect(self.showOrdContextMenu)
self.segOrdListBox.setContextMenuPolicy(Qt.CustomContextMenu)
self.searchButton = QPushButton("Search")
self.main.connect(self.searchButton, SIGNAL('clicked()'), searchForPassphrase)
self.stopButton = QPushButton("Stop Searching")
self.stopButton.setEnabled(False)
self.main.connect(self.stopButton, SIGNAL('clicked()'), endSearch)
totalSearchLabel = QRichLabel(tr("""<b>Total Passphrase Tries To Search: </b>"""), doWrap=False)
self.totalSearchTriesDisplay = QLineEdit()
self.totalSearchTriesDisplay.setReadOnly(True)
self.totalSearchTriesDisplay.setText(QString('0'))
self.totalSearchTriesDisplay.setFont(GETFONT('Fixed'))
self.totalSearchTriesDisplay.setMinimumWidth(tightSizeNChar(self.totalSearchTriesDisplay, 6)[0])
self.totalSearchTriesDisplay.setMaximumWidth(tightSizeNChar(self.totalSearchTriesDisplay, 12)[0])
searchButtonPanel = makeHorizFrame([self.searchButton, self.stopButton, 'stretch', totalSearchLabel, self.totalSearchTriesDisplay])
self.resultsDisplay = QTextEdit()
self.resultsDisplay.setReadOnly(True)
self.resultsDisplay.setFont(GETFONT('Fixed'))
self.resultsDisplay.setMinimumHeight(100)
self.searchPanel = makeVertFrame([topRow, self.segDefTableView, orderingButtonPanel,
self.segOrdListBox, searchButtonPanel, self.resultsDisplay, 'stretch'])
# Now set the scrollarea widget to the layout
self.tabToDisplay = QScrollArea()
self.tabToDisplay.setWidgetResizable(True)
self.tabToDisplay.setWidget(self.searchPanel)
def getSelectedWlt(self):
wlt = None
selectedWltList = self.main.walletsView.selectedIndexes()
if len(selectedWltList)>0:
row = selectedWltList[0].row()
wltID = str(self.main.walletsView.model().index(row, WLTVIEWCOLS.ID).data().toString())
wlt = self.main.walletMap[wltID]
return wlt
def showSegContextMenu(self):
menu = QMenu(self.segDefTableView)
if len(self.segDefTableView.selectedIndexes())==0:
return
row = self.segDefTableView.selectedIndexes()[0].row()
deleteSegMenuItem = menu.addAction("Delete Segment")
action = menu.exec_(QCursor.pos())
if action == deleteSegMenuItem:
self.deleteSegRow(row)
def showOrdContextMenu(self):
menu = QMenu(self.segOrdListBox)
if len(self.segOrdListBox.selectedItems())==0:
return
item = self.segOrdListBox.currentItem()
deleteOrdMenuItem = menu.addAction("Delete Ordering")
action = menu.exec_(QCursor.pos())
if action == deleteOrdMenuItem:
self.deleteOrdItem(item)
def deleteSegRow(self, row):
self.segDefList.remove(self.segDefList[row])
self.segDefTableModel.updateSegList(self.segDefList)
self.segOrdStrSet.clear()
self.updateOrderingListBox()
def deleteOrdItem(self, ordItem):
ordText = str(ordItem.text())
self.segOrdStrSet.remove(ordText)
self.updateOrderingListBox()
def getTabToDisplay(self):
return self.tabToDisplay
def updateOrderingListBox(self):
self.segOrdListBox.clear()
segOrdList = list(self.segOrdStrSet)
segOrdList.sort()
totalTries = 0
for ordStr in segOrdList:
self.segOrdListBox.addItem(QListWidgetItem(ordStr))
totalTries += self.calculateTries(ordStr)
if totalTries > BILLION_INT:
self.totalSearchTriesDisplay.setText(OVER_BILLION_STR)
else:
self.totalSearchTriesDisplay.setText(str(totalTries))
def calculateTries(self, ordStr):
ordIntList = [int(indexStr) for indexStr in ordStr.split(',')]
totalTries = 1
# Multiply each of the totals of segment instance together.
for ordInt in ordIntList:
totalTries *= self.segDefList[ordInt-1].getSegListLen()
return totalTries
示例10: PM_Clipboard
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class PM_Clipboard(PM_GroupBox):
"""
The PM_Clipboard class provides a groupbox containing a list of clipboard
items that can be pasted in the 3D Workspace. The selected item in this
list is shown by its elementViewer (an instance of L{PM_PreviewGroupBox})
The object being previewed can then be deposited into the 3D workspace.
"""
def __init__(self,
parentWidget,
title = 'Clipboard',
win = None,
elementViewer = None
):
"""
Appends a PM_Clipboard groupbox widget to I{parentWidget},a L{PM_Dialog}
@param parentWidget: The parent dialog (Property manager) containing
this widget.
@type parentWidget: L{PM_Dialog}
@param title: The title (button) text.
@type title: str
@param win: MainWindow object
@type win: L{MWsemantics} or None
@param elementViewer: The associated preview pane groupbox. If provided,
The selected item in L{self.clipboardListWidget}
is shown (previewed) by L{elementViewer}.
The object being previewed can then be deposited
into the 3D workspace.
@type elementViewer: L{PM_PreviewGroupBox} or None
"""
self.w = win
self.elementViewer = elementViewer
self.elementViewer.setDisplay(diTUBES)
self.pastableItems = None
PM_GroupBox.__init__(self, parentWidget, title)
self._loadClipboardGroupbox()
def _loadClipboardGroupbox(self):
"""
Load the L{self.clipboardListWidget} widget used to display a list of
clipboard items inside this clipboard groupbox.
"""
self.clipboardListWidget = QListWidget(self)
self.gridLayout.addWidget(self.clipboardListWidget)
#Append to the widget list. This is important for expand -collapse
#functions (of the groupbox) to work properly.
self._widgetList.append(self.clipboardListWidget)
def _updateElementViewer(self, newModel = None):
"""
Update the view of L{self.elementViewer}
@param newModel: The model correseponding to the item selected
in L{self.clipboardListWidget}.
@type newModel: L{molecule} or L{Group}
"""
if not self.elementViewer:
return
assert isinstance(self.elementViewer, MMKitView)
self.elementViewer.resetView()
if newModel:
self.elementViewer.updateModel(newModel)
def update(self):
"""
Updates the clipboard items in the L{PM_Clipboard} groupbox. Also
updates its element viewer.
"""
PM_GroupBox.update(self)
self.pastableItems = self.w.assy.shelf.getPastables()
i = self.clipboardListWidget.currentRow()
self.clipboardListWidget.clear()
newModel = None
if len(self.pastableItems):
for item in self.pastableItems:
self.clipboardListWidget.addItem(item.name)
if i >= self.clipboardListWidget.count():
i = self.clipboardListWidget.count() - 1
if i < 0:
i = 0
self.clipboardListWidget.setCurrentItem(
self.clipboardListWidget.item(i))
newModel = self.pastableItems[i]
#.........这里部分代码省略.........
示例11: LetsShareBooksDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
#.........这里部分代码省略.........
self.edit.setObjectName("edit")
self.edit.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.edit.setToolTip("Change your librarian name")
self.edit.setText(self.librarian)
#self.edit.textChanged.connect(self.handle_text_changed)
self.save_libranon = QPushButton("librarian:")
self.save_libranon.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
self.save_libranon.setObjectName("share")
self.save_libranon.setToolTip("Save your librarian name")
self.libranon_layout.addWidget(self.save_libranon)
self.libranon_layout.addWidget(self.edit)
self.save_libranon.clicked.connect(self.save_librarian)
self.ll.addWidget(self.libranon_container)
self.ll.addSpacing(10)
self.chat_button = QPushButton("Chat room: https://chat.memoryoftheworld.org")
#self.chat_button.hovered.connect(self.setCursorToHand)
self.chat_button.setObjectName("url2")
self.chat_button.setToolTip('Meetings every thursday at 23:59 (central eruopean time)')
self.chat_button.clicked.connect(functools.partial(self.open_url, "https://chat.memoryoftheworld.org/?nick={}".format(self.librarian.lower().replace(" ", "_"))))
self.ll.addWidget(self.chat_button)
self.about_project_button = QPushButton('Public Library: http://www.memoryoftheworld.org')
self.about_project_button.setObjectName("url2")
self.about_project_button.setToolTip('When everyone is librarian, library is everywhere.')
self.metadata_thread.uploaded.connect(lambda: self.render_library_button("{}://library.{}".format(prefs['server_prefix'], prefs['lsb_server']), "Building together real-time p2p library infrastructure."))
self.ll.addWidget(self.about_project_button)
self.debug_log = QListWidget()
self.ll.addWidget(self.debug_log)
self.debug_log.addItem("Initiatied!")
self.debug_log.hide()
from PyQt4 import QtWebKit
self.webview = QtWebKit.QWebView()
self.webview.setMaximumWidth(680)
self.webview.setMaximumHeight(400)
self.webview.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.webview.setUrl(QtCore.QUrl( "https://chat.memoryoftheworld.org/?nick={}".format(self.librarian.lower().replace(" ", "_"))))
self.ll.addWidget(self.webview)
#self.webview.hide()
#- check if there is a new version of plugin ----------------------------------------------
self.plugin_url = "https://github.com/marcellmars/letssharebooks/raw/master/calibreletssharebooks/letssharebooks_calibre.zip"
self.running_version = ".".join(map(str, lsb.version))
try:
r = requests.get('https://raw.github.com/marcellmars/letssharebooks/master/calibreletssharebooks/_version', timeout=3)
self.latest_version = r.text[-1]
except:
self.latest_version = "0.0.0"
self.upgrade_button = QPushButton('Please download and upgrade from {0} to {1} version of plugin.'.format(self.us.running_version, self.latest_version))
self.upgrade_button.setObjectName("url2")
self.upgrade_button.setToolTip('Running latest version you make developers happy')
self.upgrade_button.clicked.connect(functools.partial(self.open_url, self.plugin_url))
version_list = [self.us.running_version, self.us.latest_version]
version_list.sort(key=lambda s: map(int, s.split('.')))
if self.us.running_version != self.us.latest_version:
if self.us.running_version == version_list[0]:
self.ll.addSpacing(20)
self.ll.addWidget(self.upgrade_button)
示例12: tab_widget
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class tab_widget(QtGui.QTabWidget):
# Initiate Widget.
def __init__(self, parent=MainWindow):
super(tab_widget, self).__init__()
self.initUI()
# Create all object thats in the AddData tab
def makeAddDataTab(self, grid):
self.author_label = QLabel("Author")
self.author_text = QLineEdit()
self.author_text.setPlaceholderText("Author")
grid.addWidget(self.author_label, 0, 0)
grid.addWidget(self.author_text, 1, 0)
self.title_label = QLabel("Title")
self.title_text = QLineEdit()
self.title_text.setPlaceholderText("Title")
grid.addWidget(self.title_label, 0, 1)
grid.addWidget(self.title_text, 1, 1)
self.date_label = QLabel("Date Read")
self.date_text = QLineEdit()
self.date_text.setPlaceholderText("yy-mm-dd")
grid.addWidget(self.date_label, 2, 1)
grid.addWidget(self.date_text, 3, 1)
self.grade_label = QLabel("Grade")
self.grade_text = QLineEdit()
self.grade_text.setPlaceholderText("Grade 1-5")
grid.addWidget(self.grade_label, 2, 0)
grid.addWidget(self.grade_text, 3, 0)
self.comments_label = QLabel("Comments")
self.comments_text = QLineEdit()
self.comments_text.setPlaceholderText("Comments here")
grid.addWidget(self.comments_label, 4, 0)
grid.addWidget(self.comments_text, 5, 0)
self.genre_label = QLabel("Genre")
self.genre_list = QListWidget(self)
self.genre_list.addItems(self.genreList)
self.genre_list.setObjectName('genre_list')
self.genre_list.itemClicked.connect(self.item_clicked)
grid.addWidget(self.genre_label, 6, 0)
grid.addWidget(self.genre_list, 7, 0)
self.genre2_label = QLabel("Genre2")
self.genre2_list = QListWidget(self)
self.genre2_list.setObjectName("genre2")
self.genre2_list.addItem("Select genre first")
grid.addWidget(self.genre2_label, 6, 1)
grid.addWidget(self.genre2_list, 7, 1)
self.submit = QtGui.QPushButton("Submit Data", self)
self.submit.clicked.connect(self.buttonClicked)
grid.addWidget(self.submit, 8, 1)
self.quit = QtGui.QPushButton("Exit", self)
self.quit.clicked.connect(self.buttonClicked)
self.quit.setMaximumWidth(80)
grid.addWidget(self.quit, 8, 0)
# Creates all the object thats in the getData tab
def makeGetDataTab(self, vbox_inner):
self.authorData = QLineEdit()
self.authorData.setPlaceholderText("Author")
self.authorData.setReadOnly(True)
vbox_inner.addWidget(self.authorData)
self.titleData = QLineEdit()
self.titleData.setPlaceholderText("Title")
self.titleData.setReadOnly(True)
vbox_inner.addWidget(self.titleData)
self.genreData = QLineEdit()
self.genreData.setPlaceholderText("Genre")
self.genreData.setReadOnly(True)
vbox_inner.addWidget(self.genreData)
self.genre2Data = QLineEdit()
self.genre2Data.setPlaceholderText("Genre2")
self.genre2Data.setReadOnly(True)
vbox_inner.addWidget(self.genre2Data)
self.dateData = QLineEdit()
self.dateData.setPlaceholderText("Date read")
self.dateData.setReadOnly(True)
vbox_inner.addWidget(self.dateData)
self.gradeData = QLineEdit()
self.gradeData.setPlaceholderText("Grade")
self.gradeData.setReadOnly(True)
vbox_inner.addWidget(self.gradeData)
self.commentsData = QLineEdit()
self.commentsData.setPlaceholderText("Comments")
self.commentsData.setReadOnly(True)
vbox_inner.addWidget(self.commentsData)
self.titles_list = QListWidget(self)
vbox_inner.addWidget(self.titles_list)
hbox_inner = QtGui.QHBoxLayout()
self.getTitleData = QtGui.QPushButton("Get title data", self)
self.getTitleData.clicked.connect(self.buttonClicked)
hbox_inner.addWidget(self.getTitleData)
self.refreshList = QtGui.QPushButton("Refresh list", self)
self.refreshList.clicked.connect(self.buttonClicked)
hbox_inner.addWidget(self.refreshList)
return hbox_inner
# Initiate the widgets gui
def initUI(self):
#.........这里部分代码省略.........
示例13: addItem
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
def addItem(self, *args):
try:
return QListWidget.addItem(self, *args)
finally:
self.mark_as_editable()
示例14: LetsShareBooksDialog
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
#.........这里部分代码省略.........
else:
self.lets_share_button.hide()
self.stop_share_button.show()
self.stop_share_button.setText(self.us.share_button_text)
self.url_label = QPushButton()
self.url_label.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding)
self.url_label.setObjectName("url")
self.url_label.clicked.connect(self.open_url)
self.l.addWidget(self.url_label)
self.arrow_button = QPushButton("_____")
self.arrow_button.setObjectName("arrow")
self.l.addWidget(self.arrow_button)
self.ll.addWidget(self.w)
self.ll.addSpacing(10)
self.chat_button = QPushButton("Chat room: https://chat.memoryoftheworld.org")
#self.chat_button.hovered.connect(self.setCursorToHand)
self.chat_button.setObjectName("url2")
self.chat_button.setToolTip('Meetings every thursday at 23:59 (central eruopean time)')
self.chat_button.clicked.connect(functools.partial(self.open_url2, "https://chat.memoryoftheworld.org"))
self.ll.addWidget(self.chat_button)
self.about_project_button = QPushButton('Public Library: http://www.memoryoftheworld.org')
self.about_project_button.setObjectName("url2")
self.about_project_button.setToolTip('When everyone is librarian, library is everywhere.')
self.about_project_button.clicked.connect(functools.partial(self.open_url2, "http://www.memoryoftheworld.org"))
self.ll.addWidget(self.about_project_button)
self.debug_log = QListWidget()
self.ll.addWidget(self.debug_log)
self.debug_log.addItem("Initiatied!")
self.metadata_thread = MetadataLibThread(self.debug_log)
self.metadata_button = QPushButton("Get library metadata!")
self.metadata_button.setObjectName("url2")
self.metadata_button.setToolTip('Get library metadata!')
self.metadata_button.clicked.connect(self.get_metadata)
self.ll.addWidget(self.metadata_button)
self.upgrade_button = QPushButton('Please download and upgrade from {0} to {1} version of plugin.'.format(self.us.running_version, self.us.latest_version))
self.upgrade_button.setObjectName("url2")
self.upgrade_button.setToolTip('Running latest version you make developers happy')
self.upgrade_button.clicked.connect(functools.partial(self.open_url2, self.us.plugin_url))
version_list = [self.us.running_version, self.us.latest_version]
version_list.sort(key=lambda s: map(int, s.split('.')))
if self.us.running_version != self.us.latest_version:
if self.us.running_version == version_list[0]:
self.ll.addSpacing(20)
self.ll.addWidget(self.upgrade_button)
self.resize(self.sizeHint())
self.se = open("lsb.log", "w+b")
self.so = self.se
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
os.dup2(self.so.fileno(), sys.stdout.fileno())
os.dup2(self.se.fileno(), sys.stderr.fileno())
self.timer = QTimer()
self.timer.timeout.connect(self.check_and_render)
示例15: tab_widget
# 需要导入模块: from PyQt4.Qt import QListWidget [as 别名]
# 或者: from PyQt4.Qt.QListWidget import addItem [as 别名]
class tab_widget(QtGui.QTabWidget):
# Initiate Widget.
def __init__(self, parent=MainWindow):
super(tab_widget, self).__init__()
self.initUI()
# Create interface, and connect buttons to signals.
def initUI(self):
vbox_inner = QVBoxLayout()
grid = QtGui.QGridLayout()
self.genreList = ['Fiction', 'Fact book', 'Poetry']
# Tab 1: Add Data
self.author_label = QLabel("Author")
self.author_text = QLineEdit()
self.author_text.setPlaceholderText("Author")
grid.addWidget(self.author_label, 0, 0)
grid.addWidget(self.author_text, 1, 0)
self.title_label = QLabel("Title")
self.title_text = QLineEdit()
self.title_text.setPlaceholderText("Title")
grid.addWidget(self.title_label, 0, 1)
grid.addWidget(self.title_text, 1, 1)
self.date_label = QLabel("Date Read")
self.date_text = QLineEdit()
self.date_text.setPlaceholderText("yy-mm-dd")
grid.addWidget(self.date_label, 2, 1)
grid.addWidget(self.date_text, 3, 1)
self.grade_label = QLabel("Grade")
self.grade_text = QLineEdit()
self.grade_text.setPlaceholderText("Grade 1-5")
grid.addWidget(self.grade_label, 2, 0)
grid.addWidget(self.grade_text, 3, 0)
self.comments_label = QLabel("Comments")
self.comments_text = QLineEdit()
self.comments_text.setPlaceholderText("Comments here")
grid.addWidget(self.comments_label, 4, 0)
grid.addWidget(self.comments_text, 5, 0)
self.genre_label = QLabel("Genre")
self.genre_list = QListWidget(self)
self.genre_list.addItems(self.genreList)
self.genre_list.setObjectName('genre_list')
self.genre_list.itemClicked.connect(self.item_clicked)
grid.addWidget(self.genre_label, 6, 0)
grid.addWidget(self.genre_list, 7, 0)
self.genre2_label = QLabel("Genre2")
self.genre2_list = QListWidget(self)
self.genre2_list.setObjectName("genre2")
self.genre2_list.addItem("Select genre first")
grid.addWidget(self.genre2_label, 6, 1)
grid.addWidget(self.genre2_list, 7, 1)
# Tab 2:Get Data from file
self.authorData = QLineEdit()
self.authorData.setPlaceholderText("Author")
self.authorData.setReadOnly(True)
vbox_inner.addWidget(self.authorData)
self.titleData = QLineEdit()
self.titleData.setPlaceholderText("Title")
self.titleData.setReadOnly(True)
vbox_inner.addWidget(self.titleData)
self.genreData = QLineEdit()
self.genreData.setPlaceholderText("Genre")
self.genreData.setReadOnly(True)
vbox_inner.addWidget(self.genreData)
self.genre2Data = QLineEdit()
self.genre2Data.setPlaceholderText("Genre2")
self.genre2Data.setReadOnly(True)
vbox_inner.addWidget(self.genre2Data)
self.dateData = QLineEdit()
self.dateData.setPlaceholderText("Date read")
self.dateData.setReadOnly(True)
vbox_inner.addWidget(self.dateData)
self.gradeData = QLineEdit()
self.gradeData.setPlaceholderText("Grade")
self.gradeData.setReadOnly(True)
vbox_inner.addWidget(self.gradeData)
self.commentsData = QLineEdit()
self.commentsData.setPlaceholderText("Comments")
self.commentsData.setReadOnly(True)
vbox_inner.addWidget(self.commentsData)
self.titles_list = QListWidget(self)
#.........这里部分代码省略.........