def init_widget(self):
self.setWindowTitle("Hello World")
widget_laytout = QBoxLayout(QBoxLayout.LeftToRight)
group = QGroupBox()
box = QBoxLayout(QBoxLayout.TopToBottom)
group.setLayout(box)
group.setTitle("Buttons")
widget_laytout.addWidget(group)
fruits = ["Buttons in GroupBox", "TextBox in GroupBox", "Label in GroupBox", "TextEdit"]
view = QListView(self)
model = QStandardItemModel()
for f in fruits:
model.appendRow(QStandardItem(f))
view.setModel(model)
box.addWidget(view)
self.stk_w.addWidget(Widget_1())
self.stk_w.addWidget(Widget_2())
self.stk_w.addWidget(Widget_3())
self.stk_w.addWidget(QTextEdit())
widget_laytout.addWidget(self.stk_w)
self.setLayout(widget_laytout)
# ??? ?? ??
view.clicked.connect(self.slot_clicked_item)
python类QStandardItem()的实例源码
def AddShapeRowLayer(self, shape, parent_item):
icon = QIcon()
icon.addPixmap(QPixmap(":/images/shape.png"))
item_col_0 = QStandardItem(icon, "")
item_col_0.setData(QVariantShape(shape), SHAPE_OBJECT) # store a ref in our treeView element
item_col_1 = QStandardItem(shape.type)
item_col_2 = QStandardItem(str(shape.nr))
item_col_3 = QStandardItem()
parent_item.appendRow([item_col_0, item_col_1, item_col_2, item_col_3])
# Deal with the checkboxes (shape enabled or disabled / send shape to TSP optimizer)
item_col_0.setCheckState(QtCore.Qt.Unchecked if shape.isDisabled() else QtCore.Qt.Checked)
item_col_3.setCheckState(QtCore.Qt.Checked if shape.isToolPathOptimized() else QtCore.Qt.Unchecked)
flags = QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsSelectable
if shape.allowedToChange:
flags |= QtCore.Qt.ItemIsEnabled
item_col_0.setFlags(flags | QtCore.Qt.ItemIsUserCheckable)
item_col_1.setFlags(flags)
item_col_2.setFlags(flags)
item_col_3.setFlags(flags | QtCore.Qt.ItemIsUserCheckable)
def AddCustomGCodeRowLayer(self, custom_gcode, parent_item, push_row=None):
icon = QIcon()
icon.addPixmap(QPixmap(":/images/custom.png"))
item_col_0 = QStandardItem(icon, "") # will only display a checkbox + an icon that will never be disabled
item_col_0.setData(QtCore.QVariant(custom_gcode), CUSTOM_GCODE_OBJECT) # store a ref to the custom gcode in our treeView element
item_col_1 = QStandardItem(custom_gcode.name)
item_col_2 = QStandardItem(str(custom_gcode.nr))
item_col_3 = QStandardItem()
if push_row:
parent_item.insertRow(push_row, [item_col_0, item_col_1, item_col_2, item_col_3])
else:
parent_item.appendRow([item_col_0, item_col_1, item_col_2, item_col_3])
# Deal with the checkboxes (shape enabled or disabled / send shape to TSP optimizer)
item_col_0.setCheckState(QtCore.Qt.Unchecked if custom_gcode.isDisabled() else QtCore.Qt.Checked)
flags = QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled
item_col_0.setFlags(flags | QtCore.Qt.ItemIsUserCheckable)
item_col_1.setFlags(flags)
item_col_2.setFlags(flags)
item_col_3.setFlags(flags)
def updateTalents(self):
if self.currentFertName != "":
self.model.clear()
for el in Wolke.Char.fertigkeiten[self.currentFertName].gekaufteTalente:
if el.startswith("Gebräuche: "):
talStr = el[11:]
elif el.startswith("Mythen: "):
talStr = el[8:]
elif el.startswith("Überleben: "):
talStr = el[11:]
else:
talStr = el
item = QtGui.QStandardItem(talStr)
item.setEditable(False)
self.model.appendRow(item)
self.updateTalentRow()
def updateTalents(self):
if self.currentFertName != "":
self.model.clear()
for el in Wolke.Char.übernatürlicheFertigkeiten[self.currentFertName].gekaufteTalente:
if el.startswith("Gebräuche: "):
talStr = el[11:]
elif el.startswith("Mythen: "):
talStr = el[8:]
elif el.startswith("Überleben: "):
talStr = el[11:]
else:
talStr = el
if el in Wolke.DB.talente:
if el in Wolke.Char.talenteVariable:
costStr = " (" + str(Wolke.Char.talenteVariable[el]) + " EP)"
else:
costStr = " (" + str(Wolke.DB.talente[el].kosten) + " EP)"
else:
costStr = ""
item = QtGui.QStandardItem(talStr + costStr)
item.setEditable(False)
self.model.appendRow(item)
self.updateTalentRow()
def add_nodeset(self):
path, ok = QFileDialog.getOpenFileName(self.view, caption="Import OPC UA XML Node Set", filter="XML Files (*.xml *.XML)", directory=".")
if not ok:
return None
name = os.path.basename(path)
if name in self.nodesets:
return
try:
self.server_mgr.import_xml(path)
except Exception as ex:
self.error.emit(ex)
raise
item = QStandardItem(name)
self.model.appendRow([item])
self.nodesets.append(name)
self.view.expandAll()
self.nodeset_added.emit(path)
def setupModel(self):
self.model = QStandardItemModel(5, 3, self)
names = ("Alice", "Bob", "Carol", "Donald", "Emma")
addresses = ("<qt>123 Main Street<br/>Market Town</qt>",
"<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>",
"<qt>The Lighthouse<br/>Remote Island</qt>",
"<qt>47338 Park Avenue<br/>Big City</qt>",
"<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>")
ages = ("20", "31", "32", "19", "26")
for row, name in enumerate(names):
item = QStandardItem(name)
self.model.setItem(row, 0, item)
item = QStandardItem(addresses[row])
self.model.setItem(row, 1, item)
item = QStandardItem(ages[row])
self.model.setItem(row, 2, item)
def setupModel(self):
items = ("Home", "Work", "Other")
self.typeModel = QStringListModel(items, self)
self.model = QStandardItemModel(5, 3, self)
names = ("Alice", "Bob", "Carol", "Donald", "Emma")
addresses = ("<qt>123 Main Street<br/>Market Town</qt>",
"<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>",
"<qt>The Lighthouse<br/>Remote Island</qt>",
"<qt>47338 Park Avenue<br/>Big City</qt>",
"<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>")
types = ("0", "1", "2", "0", "2")
for row, name in enumerate(names):
item = QStandardItem(name)
self.model.setItem(row, 0, item)
item = QStandardItem(addresses[row])
self.model.setItem(row, 1, item)
item = QStandardItem(types[row])
self.model.setItem(row, 2, item)
def setupModel(self):
self.model = QStandardItemModel(5, 3, self)
names = ("Alice", "Bob", "Carol", "Donald", "Emma")
addresses = ("<qt>123 Main Street<br/>Market Town</qt>",
"<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>",
"<qt>The Lighthouse<br/>Remote Island</qt>",
"<qt>47338 Park Avenue<br/>Big City</qt>",
"<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>")
ages = ("20", "31", "32", "19", "26")
for row, name in enumerate(names):
item = QStandardItem(name)
self.model.setItem(row, 0, item)
item = QStandardItem(addresses[row])
self.model.setItem(row, 1, item)
item = QStandardItem(ages[row])
self.model.setItem(row, 2, item)
def setupModel(self):
items = ("Home", "Work", "Other")
self.typeModel = QStringListModel(items, self)
self.model = QStandardItemModel(5, 3, self)
names = ("Alice", "Bob", "Carol", "Donald", "Emma")
addresses = ("<qt>123 Main Street<br/>Market Town</qt>",
"<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>",
"<qt>The Lighthouse<br/>Remote Island</qt>",
"<qt>47338 Park Avenue<br/>Big City</qt>",
"<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>")
types = ("0", "1", "2", "0", "2")
for row, name in enumerate(names):
item = QStandardItem(name)
self.model.setItem(row, 0, item)
item = QStandardItem(addresses[row])
self.model.setItem(row, 1, item)
item = QStandardItem(types[row])
self.model.setItem(row, 2, item)
def fill_sequence_list(self):
"""
Fill sequence_list with data.
"""
data = Data()
sequence_list = self.ui.sequence_list
model = QStandardItemModel(sequence_list)
sequences = data.get_sequence_list()
if len(sequences) > 0:
for sequence in sequences:
note = ""
if sequence[4] is not None:
note = " - %s" % sequence[4]
item = QStandardItem("%s%s" % (sequence[1], note))
item.setEditable(False)
item.setData(str(sequence[0]), QtCore.Qt.UserRole)
model.insertRow(0, item)
sequence_list.setModel(model)
def fill_image_list(self):
"""
Fill list_image with data.
"""
data = Data()
list_images = self.ui.list_images
model = QStandardItemModel(list_images)
images = data.get_image_list(self.sequence_id)
if len(images) > 0:
for image in images:
item = QStandardItem("%s - %s" % (image[1], functions.get_indicator(image[5])))
item.setEditable(False)
item.setData(str(image[0]), QtCore.Qt.UserRole)
model.appendRow(item)
list_images.setModel(model)
def _focus_match(self, idx, start, end):
self._api.subs.selected_indexes = [idx]
mispelt_word = self._api.subs.lines[idx].text[start:end]
cursor = self._main_window.editor.center.text_edit.textCursor()
cursor.setPosition(start)
cursor.setPosition(end, QtGui.QTextCursor.KeepAnchor)
self._main_window.editor.center.text_edit.setTextCursor(cursor)
self._mispelt_text_edit.setText(mispelt_word)
self._suggestions_list_view.model().clear()
for suggestion in self._dictionary.suggest(mispelt_word):
item = QtGui.QStandardItem(suggestion)
item.setEditable(False)
self._suggestions_list_view.model().appendRow(item)
def update_set_flags(self):
for button in self.findChildren((QCheckBox, QRadioButton), "preview_button"):
if button.isChecked():
for flag in button.property("flag_list"):
flag_label = QStandardItem(flag.label)
flag_value = QStandardItem(flag.value)
flag_plugin = QStandardItem(button.text())
existing_flag = self.model_flags.findItems(flag.label)
if existing_flag:
previous_flag_row = existing_flag[0].row()
self.model_flags.removeRow(previous_flag_row)
self.model_flags.insertRow(previous_flag_row, [flag_label, flag_value, flag_plugin])
else:
self.model_flags.appendRow([flag_label, flag_value, flag_plugin])
self.list_flags.header().resizeSections(QHeaderView.Stretch)
def setupModel(self):
self.model = QStandardItemModel(5, 3, self)
names = ("Alice", "Bob", "Carol", "Donald", "Emma")
addresses = ("<qt>123 Main Street<br/>Market Town</qt>",
"<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>",
"<qt>The Lighthouse<br/>Remote Island</qt>",
"<qt>47338 Park Avenue<br/>Big City</qt>",
"<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>")
ages = ("20", "31", "32", "19", "26")
for row, name in enumerate(names):
item = QStandardItem(name)
self.model.setItem(row, 0, item)
item = QStandardItem(addresses[row])
self.model.setItem(row, 1, item)
item = QStandardItem(ages[row])
self.model.setItem(row, 2, item)
def setupModel(self):
items = ("Home", "Work", "Other")
self.typeModel = QStringListModel(items, self)
self.model = QStandardItemModel(5, 3, self)
names = ("Alice", "Bob", "Carol", "Donald", "Emma")
addresses = ("<qt>123 Main Street<br/>Market Town</qt>",
"<qt>PO Box 32<br/>Mail Handling Service"
"<br/>Service City</qt>",
"<qt>The Lighthouse<br/>Remote Island</qt>",
"<qt>47338 Park Avenue<br/>Big City</qt>",
"<qt>Research Station<br/>Base Camp<br/>Big Mountain</qt>")
types = ("0", "1", "2", "0", "2")
for row, name in enumerate(names):
item = QStandardItem(name)
self.model.setItem(row, 0, item)
item = QStandardItem(addresses[row])
self.model.setItem(row, 1, item)
item = QStandardItem(types[row])
self.model.setItem(row, 2, item)
def appendRow(self, output_folder_name: str): # noqa: N802
item = QStandardItem(output_folder_name)
super(OutputFoldersModel, self).appendRow(item)
def appendRow(self, output_folder_name: str): # noqa: N802
item = QStandardItem(output_folder_name)
super(AutoProfileModel, self).appendRow(item)
def appendRow(self, branch_name: str): # noqa: N802
item = QStandardItem(branch_name)
super(BranchesModel, self).appendRow(item)
def type(self):
return QtGui.QStandardItem.UserType + 4
def data(self, role=Qt.Qt.DisplayRole):
if role == Qt.Qt.DisplayRole:
return self._name
if role == Qt.Qt.ToolTipRole:
return self._name
if role == Qt.Qt.FontRole:
return QtGui.QStandardItem.data(self, role=role)
else:
return super().data(role=role)
def type(self):
return QtGui.QStandardItem.UserType + 6
def type(self):
return QtGui.QStandardItem.UserType + 7
def type(self):
return QtGui.QStandardItem.UserType + 1
def type(self):
return QtGui.QStandardItem.UserType + 3
def __init__(self, parent, info, title="Channel Properties"):
super().__init__(parent)
self.setWindowTitle(title)
self.model = QStandardItemModel(info["nchan"], 4)
self.model.setHorizontalHeaderLabels(["#", "Label", "Type", "Bad"])
for index, ch in enumerate(info["chs"]):
item = QStandardItem()
item.setData(index, Qt.DisplayRole)
item.setFlags(item.flags() & ~Qt.ItemIsEditable)
self.model.setItem(index, 0, item)
self.model.setItem(index, 1, QStandardItem(ch["ch_name"]))
kind = channel_type(info, index).upper()
self.model.setItem(index, 2, QStandardItem(str(kind)))
bad = QStandardItem()
bad.setData(ch["ch_name"] in info["bads"], Qt.UserRole)
bad.setCheckable(True)
bad.setEditable(False)
checked = ch["ch_name"] in info["bads"]
bad.setCheckState(Qt.Checked if checked else Qt.Unchecked)
self.model.setItem(index, 3, bad)
self.model.itemChanged.connect(bad_changed)
self.proxymodel = MySortFilterProxyModel()
self.proxymodel.setSourceModel(self.model)
self.view = QTableView()
self.view.setModel(self.proxymodel)
self.view.setItemDelegateForColumn(2, ComboBoxDelegate(self.view))
self.view.setEditTriggers(QAbstractItemView.AllEditTriggers)
self.view.verticalHeader().setVisible(False)
self.view.horizontalHeader().setStretchLastSection(True)
self.view.setShowGrid(False)
self.view.setSelectionMode(QAbstractItemView.NoSelection)
self.view.setSortingEnabled(True)
self.view.sortByColumn(0, Qt.AscendingOrder)
self.view.resizeColumnsToContents()
# for i in range(self.model.rowCount()):
# self.view.openPersistentEditor(self.model.index(i, 2))
vbox = QVBoxLayout(self)
vbox.addWidget(self.view)
self.buttonbox = QDialogButtonBox(QDialogButtonBox.Ok |
QDialogButtonBox.Cancel)
vbox.addWidget(self.buttonbox)
self.buttonbox.accepted.connect(self.accept)
self.buttonbox.rejected.connect(self.reject)
self.resize(400, 650)
def __init__(self, s, ea):
super(QtGui.QStandardItem, self).__init__(s)
self.ea = ea
def read_file(self, file):
if file is None:
return
with open(file, 'r') as f:
for line in f:
lis = line.split(' : ')
if len(lis) != 2:
continue
key = (lis[1], lis[0])
self.keys.append(key)
self.ui.model = QtGui.QStandardItemModel(self.ui.listView)
for key in self.keys:
item = QtGui.QStandardItem(key[0].rstrip('\n'))
self.ui.model.appendRow(item)
self.ui.listView.setModel(self.ui.model)
def read_file(self, file):
with open(file, 'r') as f:
for line in f:
lis = line.split(' : ')
if len(lis) != 2:
continue
key = (lis[1], lis[0])
self.keys.append(key)
self.ui.model = QtGui.QStandardItemModel(self.ui.listView)
for key in self.keys:
item = QtGui.QStandardItem(key[0].rstrip('\n'))
self.ui.model.appendRow(item)
self.ui.listView.setModel(self.ui.model)
BiocImageBuilderMain.py 文件源码
项目:BiocImageBuilder
作者: Bioconductor-notebooks
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def LoadBiocPakageList(self):
# loading
item = QStandardItem(" >>> Loading bioconductor package list <<< ")
self.model_package.appendRow(item)
self.lstPackages.setModel(self.package_list_proxy)
self.lstPackages.resizeColumnsToContents()
self.loadpackage_thread = BiocPackageList()
self.loadpackage_thread.load_completed.connect(self.ThreadEvent_OnLoadBiocPackageCompleted)
self.loadpackage_thread.start()