标签: qlistwidget

Qt:QListWidget项之间的分隔线?

我找不到任何方法在列表中的项目之间添加一行.我错过了什么吗?

qt qlistwidget

4
推荐指数
1
解决办法
9084
查看次数

我可以在PyQt中将对象附加到QListWidgetItems吗?

是否可以像设置/获取项目文本一样为QListWidget中的项目设置/获取对象?

qt pyqt object qlistwidget

4
推荐指数
1
解决办法
3047
查看次数

清除QListWidget中的选择

我正在使用PyQt4,我QListWidget在一个窗口中有一个窗口,我在运行时添加了它.我想在窗口中使用一个按钮来清除选择QListWidget.

我想知道是否有任何方法可以实现这一目标?

我检查clear()但它清除listwidget中的项目,但我想清除listwidget中的选择.

python qlistwidget pyqt4

4
推荐指数
2
解决办法
9497
查看次数

在QListWidget中获取所选行

我有一个Qlistwidget我可以选择多个项目.我可以在listwidget中获取包含所有选定项目的列表,但无法找到获取相应行列表的方法.要获取listwidget中所选项的列表,我使用了以下代码:

print [str(x.text()) for x in self.listWidget.selectedItems()]
Run Code Online (Sandbox Code Playgroud)

要检索行,我正在寻找类似的东西:

a = self.listWidget.selectedIndexes()
print a
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我也尝试了一些导致这样的输出的代码,这不是很有用:

<PyQt4.QtGui.QListWidgetItem object at 0x0000000013048B88>
<PyQt4.QtCore.QModelIndex object at 0x0000000014FBA7B8>
Run Code Online (Sandbox Code Playgroud)

python qt pyqt qlistwidget

4
推荐指数
2
解决办法
5494
查看次数

如何编辑 QListWidget 项目而不将其删除以进行编辑并添加回来?

我想编辑通过按钮以编程方式选择的 listWidget 项目。我不完全确定是否有一种方法可以编辑选定的项目,而不必删除原始项目并将新的编辑添加回来。

我看到了这个......但我不确定这是否是我需要的,因为我无法传递新值:

selItems = listWidget.selectedItems()

for item in selItems:
    listWidget.editItem(item, "test")

TypeError: QListWidget.editItem(QListWidgetItem): too many arguments
Run Code Online (Sandbox Code Playgroud)

python pyqt qlistwidget

4
推荐指数
1
解决办法
1万
查看次数

PyQt:将图标添加到 QListWidget 项目的右侧

在 QlistWidget 中,使用时listItem.setIcon(qIcon)将图标放在列表项的左侧。如何让它显示在右侧,如下所示?

在此输入图像描述

还有一个问题。如何从项目中删除图标?

icons qt pyqt qlistwidget

4
推荐指数
1
解决办法
5854
查看次数

当用户与列表交互时,如何获取QListWidget的所有选定项?

我如何获取事件处理程序(“插槽”)中QListWidget的所有选定项,该事件处理程序在用户与列表进行交互时被激活?换句话说,当用户执行某项操作时(例如在列表中选择一个新的选择),我需要有可用选择项的完整列表。

到目前为止,我尝试使用的是什么QListWidget.currentItemChanged,然后尝试使用来获取所有选定的列表项QListWidget.selectedItems()。这种方法的问题在于,从selectedItems()函数返回的列表直到退出我已连接的事件处理程序后才更新至currentItemChanged

我正在寻找的解决方案必须与“ MultiSelection”一起使用(可以同时选择多个列表项)

感谢帮助和友善的问候,托德

python pyqt qlistwidget pyqt5

4
推荐指数
1
解决办法
6044
查看次数

如何为 QListWidget 中的每个项目创建上下文菜单?

我正在开发一个 QGIS 插件,其中的 UI 是用 PyQt 制作的。我有一个 QListWidget 和一个填充它的函数。我想为每个项目添加一个上下文菜单,只有一个选项:打开另一个窗口。

我在搜索信息时遇到了麻烦,因为大部分信息仅适用于 PyQt4 而我使用的是版本 5。我想在其上添加上下文菜单的 QListWidget 是ds_list_widget. 这是一些相关的代码。

FORM_CLASS, _ = uic.loadUiType(os.path.join(
    os.path.dirname(__file__), 'dialog_base.ui'))

class Dialog(QDialog, FORM_CLASS):
    def __init__(self, parent=None):
        ...
        self.p_list_widget = self.findChild(QListWidget, 'projects_listWidget') 
        self.p_list_widget.itemClicked.connect(self.project_clicked)
        self.ds_list_widget = self.findChild(QListWidget, 'datasets_listWidget')        
        self.ds_list_widget.itemClicked.connect(self.dataset_clicked)
        ...


    def project_clicked(self, item):
        self.fill_datasets_list(str(item.data(Qt.UserRole)))        
        self.settings.setValue('projectIdValue', str(item.data(Qt.UserRole)))

    def fill_datasets_list(self, project_id):
        self.ds_list_widget.clear()
        dataset_list = self.anotherClass.fetch_dataset_list(project_id)

        for dataset in dataset_list:
            #Query stuff from remote
            ...
            item = QListWidgetItem(ds_name, self.ds_list_widget)
            item.setIcon(self.newIcon(ds_img))
            item.setData(Qt.UserRole, ds_id)
            self.ds_list_widget.addItem(item)
            self.ds_list_widget.setIconSize(self.iconSize)
Run Code Online (Sandbox Code Playgroud)

python contextmenu qlistwidget pyqt5

4
推荐指数
1
解决办法
4143
查看次数

设置标志以使项目不可选择,然后再次可选择

我正在学习 PySide,我很困惑如何在第一次将 QListWidget 项目设置为不可选择后将其设置回可选择状态。我知道我可以:

QListWidget.SetFlags(QtCore.Qt.ItemIsSelectable)
Run Code Online (Sandbox Code Playgroud)

我有点不确定为什么该标志被命名为“ItemIsSelelectable”,因为它似乎使该项目无法选择。但我想在设置此标志后将项目设置回可选状态。

python qlistwidget pyside qlistwidgetitem

4
推荐指数
1
解决办法
6365
查看次数

如何使 QListWidget 项目可编辑

我是 PyQt 的新手。我首先在Qt Designer中做了一个对话框,在一个QListWidget中实现了简单的增删改查操作。除了编辑之外,我的所有操作都很有魅力,所以我做了很多关于如何使项目可编辑的搜索,但结果并不令人满意。我可以使用openPersistentEditorand进行编辑closePersistentEditor,但它的行为方式并不是我想要的。我只是希望在双击或按下编辑按钮时可以编辑这些项目,就像在普通的 gui 中一样。

我的 Qt 设计器代码是:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'myDialog.ui'
#
# Created by: PyQt5 UI code generator 5.6
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(358, 226)
        self.widget = QtWidgets.QWidget(Dialog)
        self.widget.setGeometry(QtCore.QRect(10, 10, 341, 201))
        self.widget.setObjectName("widget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.mylist = …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt qlistwidget

3
推荐指数
1
解决办法
6808
查看次数

标签 统计

qlistwidget ×10

python ×7

pyqt ×6

qt ×5

pyqt5 ×2

contextmenu ×1

icons ×1

object ×1

pyqt4 ×1

pyside ×1

qlistwidgetitem ×1