标签: qlistwidgetitem

如何更改QListWidget中项目的文本颜色?

我想更改项目的文本颜色QListWidget.
例如,某些项目为红色文本,而其他项目为蓝色文本.我怎么做?谢谢.

qt qlistwidget qlistwidgetitem

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

PyQt QListWidget自定义项

我怎样才能创建一个QListWidgetItem,它下面有1个图像和2个标签/字符串,它们支持css?

这是我尝试过的最后一件事:

class CustomListWidgetItem(QListWidgetItem, QLabel):
    def __init__(self, parent=None):
        QListWidgetItem.__init__(self, parent)
        QLabel.__init__(self, parent)
Run Code Online (Sandbox Code Playgroud)

我正在使用PyQt btw

python pyqt qlistwidgetitem

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

QListWidgetItem - 调整内容的宽度和高度

我有一个QListWidgetItem,有一个QWidget和一些QLabels.标签的高度(imageLabel,titleLabeldescriptionLabel)取决于文本长度变化.QWidget的高度也是如此,它可以提供不同的尺寸QListWidgetItem.到目前为止,参数setSizeHint是静态的:

QListWidgetItem* listWidgetItem = new QListWidgetItem();
listWidgetItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
listWidgetItem->setSizeHint(200, 180));

QWidget* widget = new QWidget();

QVBoxLayout* rootLayout = new QVBoxLayout();
rootLayout->setAlignment(Qt::AlignTop);

QHBoxLayout* contentLayout = new QHBoxLayout();
contentLayout->setAlignment(Qt::AlignLeft);

QLabel* imageLabel = new QLabel();
imageLabel->setPixmap(pixmap);

contentLayout->addWidget(imageLabel, 0, Qt::AlignTop);

QVBoxLayout* informationLayout = new QVBoxLayout();
informationLayout->setAlignment(Qt::AlignTop);

QLabel* titleLabel = new QLabel("<b>" + title  + "</b>");
titleLabel->setWordWrap(true);
informationLayout->addWidget(titleLabel);

QLabel* descriptionLabel = new QLabel(description);
descriptionLabel->setWordWrap(true);
informationLayout->addWidget(descriptionLabel);

QLabel* dateLabel = …
Run Code Online (Sandbox Code Playgroud)

c++ qt qwidget qlabel qlistwidgetitem

5
推荐指数
1
解决办法
2284
查看次数

QListWidget 中的项目在重新排序后变得不可见

我有一个QListWidget由自定义小部件使用setItemWidget.

这些自定义列表项是完全静态的,它们只有一堆带有各种文本和图像的标签。我的 QListWidget 显示正确。我允许拖放重新排序,当我将项目移动到不同位置后,它就会变得不可见。它不会消失,因为它占用了显示屏的空间,我什至可以点击它,它只是完全不可见,就好像它里面的所有标签突然变成了空白。有趣的是,如果我为这些小部件设置背景颜色,自定义背景颜色不会被清除,只会清除内容。

如果我将泛型插入QListWidgetItem到 中QListQidget,即使在移动后它们仍然可见。

是什么导致自定义小部件变为空白,如何阻止这种情况发生?

例子。

QListWidgetItem *item;
MyCustomWidget *custom;

item = new QListWidgetItem();
item->setText("This will remain visible");
listWidget->addItem(item);

item = new QListWidgetItem();
custom = new MyCustomWidget ();
custom->setName(QString("This will vanish")); // this will add text to one of the labels inside it.
listWidget->addItem(item);
item->setSizeHint(QSize(50,65));
listWidget->setItemWidget(item, custom);
Run Code Online (Sandbox Code Playgroud)

用鼠标移动项目后,通过“普通”QListWidgetItems 添加的项目保留其内容,而通过“普通”QListWidgetItems 添加的项目setItemWidget其内容消失。

编辑

即使我的自定义小部件只是一个QLabel,其内容在移动后也会消失。

QLabel *label;
item = new QListWidgetItem();
label = new QLabel();
label->setText("This label will vanish"); …
Run Code Online (Sandbox Code Playgroud)

c++ qt qlistwidget qtgui qlistwidgetitem

5
推荐指数
1
解决办法
1594
查看次数

删除 QListWidgetItem: QListWidget::takeItem(item) 与删除项目

QListWidgetItem* item要从a 中删除给定的,QListWidget* lst我可以使用以下代码(取自此答案):

delete lst->takeItem(lst->row(item)); // method 1
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我只是销毁该项目,它也会从列表中删除(至少它会从列表中消失QListWidget)。

delete item; // method 2
Run Code Online (Sandbox Code Playgroud)

QListWidget文档指示使用takeItem但没有提及任何有关删除该项目的信息(QListWidgetItem也没有任何信息)。

要从列表中删除项目,请使用 takeItem()。

takeItem使用方法一(然后删除)和方法二(直接删除)有什么区别吗?也许我错过了内存泄漏,未发出信号等?我的意思是,删除该项目(当然,如果您有的话)似乎比搜索它更容易。

c++ qt qlistwidget qlistwidgetitem

5
推荐指数
1
解决办法
5570
查看次数

如何增加 QListWidget 中缩略图的大小

问题=> 我想创建一个 QlistWidgetItem 对象,其中包含图像列表及其缩略图,其尺寸比我当前的尺寸相对较大(有点像 Windows 资源管理器中的“中图标”或“大图标”选项)

到目前为止,进度=> 我已经设法找到如何创建列表,但除了图标之外的所有内容都太小了。

我尝试过的=> 我尝试更改列表项的字体大小,假设 cld 也使字体按比例变大。没用。我还尝试根据另一位在线博主的说法使用(PIL's Image)设置缩略图的大小,但效果不佳。

代码片段=> #从 PIL 导入图像和 ImageQt,还导入 QtGui 和 QtCore

    testimages = glob.glob(dirname +  "/*.jpg")
    # Create a list item for each image file,
    # setting the text and icon appropriately
    for image in testimages:
        picture = Image.open(image)
        picture.thumbnail((128,128), Image.ANTIALIAS)
        icon = QIcon(QPixmap.fromImage(ImageQt.ImageQt(picture)))
        item = QListWidgetItem(image, self)
        item.setIcon(icon)
        fonter = QFont("Times New Roman")
        fonter.setPointSize(14)
        item.setFont(fonter)
Run Code Online (Sandbox Code Playgroud)

希望你们能帮助我。:)

python pyqt4 qlistwidgetitem

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

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

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

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

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

python qlistwidget pyside qlistwidgetitem

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

如何自定义 QListWidget 背景颜色(而不是 QListWidgetItem)

我想知道是否有办法自定义 QListWidget 背景颜色。

我努力了:

listWidget=QtGui.QListWidget()
listWidget.setAutoFillBackground(True)
p = listWidget.palette()
p.setColor(listWidget.backgroundRole(), QtGui.QColor("#424242"))
listWidget.setPalette(p)
Run Code Online (Sandbox Code Playgroud)

虽然没有错误,但它仍然无法工作。

python pyqt qlistwidget pyqt4 qlistwidgetitem

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

是否可以为 qlistWidget 的每个项目添加隐藏值

是否有可能为 . 的每一项添加隐藏价值qlistWidget
我从数据库获取数据并将其添加到qlistWidget.

我想将id每一行的 的 作为隐藏数据分配给每个项目以便qlistWidget将来使用它,例如 HTML 标签<input type="hidden" name="id" value="15" />

下面是从数据库获取数据的代码。

QSqlQuery qry;
qry.prepare("SELECT * FROM users");
qry.exec();
while(qry.next()){
     ui->listWidget->addItem(qry.value("username").toString());
}
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?

c++ qt hidden-field qt5 qlistwidgetitem

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

有什么方法可以禁用我的 QListWidget 中的 QListWidgetItem 吗?

我正在使用QListWidgetItem在我的QListWidget.

在某些情况下,我希望我的某些行QListWidget变得不可选择。(我的意思是我希望有些QListWidgetItem不可选择的

有什么办法可以做到这一点吗?

PS:我试过了

listWidgetItem->setFlags(Qt::NoItemFlags)

listWidgetItem->setSelected(false);
Run Code Online (Sandbox Code Playgroud)

但它们不会禁用项目的选择。

编辑:

QStringList _strListClients = _strClients.split(",",QString::KeepEmptyParts,Qt::CaseInsensitive);

for(int i = 0; i < _strListClients.count(); i++)//Add Client's Check Boxes
{
    QListWidgetItem* _listWidgetItem = new QListWidgetItem(_strListClients[i], listWidgetClients);
    listWidgetClients->addItem(_listWidgetItem);

    if(_strListClients[i] == "Unknown"){
        _listWidgetItem->setSelected(false);
        _listWidgetItem->setTextColor(Qt::red);
        _listWidgetItem->setFlags(_listWidgetItem->flags() & ~Qt::ItemIsSelectable);

    }
Run Code Online (Sandbox Code Playgroud)

}

select qt qlistwidget qlistwidgetitem

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

我如何从 QListWidgetItem 获取文本

所以基本上我刚刚开始学习 PyQt 并且我想在 listWidget 中获取元素的文本,但是每次我尝试 self.listWidget.currentItem().text() 时它都会抛出错误。为什么?

import sys
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QDialog, QApplication, QListWidget
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import *

class MainPage(QDialog):
    def __init__(self):
        super(MainPage,self).__init__()
        loadUi("HomePage.ui",self)
        self.pushButton.clicked.connect(self.addToList)
        self.selectButton.clicked.connect(self.getText)



    def addToList(self):
        customername = self.plainTextEdit_16.toPlainText()
        self.listWidget.addItem(customername)



    def getText(self):
        item = self.listWidget.currentItem().text() ##error is here

        print(item)


app = QApplication(sys.argv)

widget = MainPage()
widget.show()

sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

python pyqt qlistwidget pyqt5 qlistwidgetitem

2
推荐指数
1
解决办法
6148
查看次数

如何获取QListWidget :: selectedItems()的索引?

我有QListWidget并且需要获取所选项目的索引。(我可以按值使用列表中的项目,但是我有std::vector一个包含列表中每个项目的对象,还需要从中删除它们。)有一个功能,indexFromItem但是它是protected(?),所以我可以用它。

有任何想法吗?

QList<QListWidgetItem *> itemList = lw1->selectedItems();
Run Code Online (Sandbox Code Playgroud)

c++ qt qwidget qlistwidgetitem

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

如何增加 QListWidget 中项目/行的填充(或边距)?

我们正在寻找一种方法来增加QListWidget我们在应用程序中使用的填充(或边距)。我们想为所有四个方向增加此值,以便为列表中的文本提供一些额外的空间

我看了两个文档QListWidgetQListWidgetItem并不能找到任何东西。对于QListWidget存在的setContentsMargins这是从继承QWidget但这是小部件作为一个整体(而不是单个条目)。

我们可以做些什么来解决这个问题?感谢帮助!

qt pyqt qlistwidget qt5 qlistwidgetitem

1
推荐指数
2
解决办法
6708
查看次数

标签 统计

qlistwidgetitem ×13

qlistwidget ×8

qt ×8

c++ ×5

python ×5

pyqt ×4

pyqt4 ×2

qt5 ×2

qwidget ×2

hidden-field ×1

pyqt5 ×1

pyside ×1

qlabel ×1

qtgui ×1

select ×1