- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个问题,我不知道如何从选定的目录中过滤图像。我通常使用 directory.setNameFilters({"*.png", "*.jpg"});
但在这种情况下我不能使用它,因为我需要在 列表控件
。我使用信号和槽函数。我的意思是,如果我单击 listWidget
中的目录,则该目录中的图像将显示在另一个 listWidget
中。如果我单击另一个目录,它将执行相同的功能。请看一下我的代码。
QDir directory = QFileDialog::getExistingDirectory(this, tr("Open Directory"),"/home", QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);
auto listWidget_images = new QListWidget();//set listwidget to display images
listWidget_images->setMinimumSize(1200,400);
listWidget_images->setViewMode(QListWidget::IconMode);
listWidget_images->setIconSize(QSize(320,240));
listWidget_images->setResizeMode(QListWidget::Adjust);
for(const QFileInfo & finfo: directory.entryInfoList()){
ui->listWidget_dirs->addItem(finfo.absoluteFilePath());
}
connect(ui->listWidget_dirs, & QListWidget::itemClicked,[listWidget_images,this](QListWidgetItem *item)
{
listWidget_images->show();
directory.setNameFilters({"*.png", "*.jpg"});
for(const QFileInfo & finfo: directory.entryInfoList()){
QListWidgetItem *item = new QListWidgetItem(QIcon(finfo.absoluteFilePath()), finfo.fileName());
listWidget_images->addItem(item);
}
});
最佳答案
您必须使用 QListWidgetItem 的文本创建 QDir。
另一方面,获取子目录列表的方法是不区分文件和目录,我已经修复了那部分。
QString directory = QFileDialog::getExistingDirectory(this,
tr("Open Directory"),
QDir::homePath(),
QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);
auto listWidget_images = new QListWidget();//set listwidget to display images
listWidget_images->setMinimumSize(1200,400);
listWidget_images->setViewMode(QListWidget::IconMode);
listWidget_images->setIconSize(QSize(320,240));
listWidget_images->setResizeMode(QListWidget::Adjust);
QDirIterator diter(directory, QDir::Dirs | QDir::NoDotAndDotDot);
while (diter.hasNext()) {
ui->listWidget_dirs->addItem(diter.next());
}
connect(ui->listWidget_dirs, &QListWidget::itemClicked,[listWidget_images](QListWidgetItem *item)
{
listWidget_images->show();
listWidget_images->clear();
QDir directory(item->text());
directory.setNameFilters({"*.png", "*.jpg"});
for(const QFileInfo & finfo: directory.entryInfoList()){
QListWidgetItem *item = new QListWidgetItem(QIcon(finfo.absoluteFilePath()), finfo.fileName());
listWidget_images->addItem(item);
}
});
关于c++ - 如何从所选目录(在 listWidget 中)过滤图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51356319/
我有一个方法可以删除 QListWidget 上的文件列表: void MainWindow::ProvideContextMenu(const QPoint &pos) { QPoint i
在学习 PyQt5 时,我在 ListWidget 小部件(以及所有其他小部件)中发现了一个小问题(可能是一个错误) ListWidget 有一个重载的 addItem 方法:(代码在 C++ 中,但
如何从 QListWidget 中删除选定的项目? 我试过写下面的代码,但是没有用。 QList items = ui->listWidget->selectedItems(); foreach(QL
ListWidget列表框组件,该组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget组件则只能实现单字段结构,ListWidget组件
我有一个相当简单的 PyQt 问题。 (Python 3.4、PyQt 4.11.3、Qt 4.8.5)我使用 Qt Designer (Ui_Dialog) 构建了一个非常简单的对话框。该对象有一个
我试图只点击列表小部件中项目列表中的一个项目。 我在我的 UI 中右键单击并转到插槽: void main::listWidget_itemClicked(QListWidgetItem* item)
在使用 QListWidget 和其他“列表”小部件之后,我终于找到了一个似乎是存储和检索列表的 Item 类(QListWidgetItem)的简单解决方案。我向自己介绍的问题是我认为 QListW
我正在尝试使用 Python 向 PyQt4 中的列表小部件中的项目添加右键单击功能。我喜欢一个弹出式上下文菜单来显示它有按钮,点击时应该执行一些功能。 如何在右键单击每个项目时弹出上下文菜单? 最佳
在我的项目中,我有一个listWidget。当用户单击列表中的项目时,它会加载: void BlockSelect::on_blockList_clicked(const QModelIndex &i
ListWidget 中有 5 个项目。按下按钮打印当前项目及其索引。似乎应该有足够的信息来从 ListWidget 中删除/删除该项目。 问题:如何从 ListWidget 中删除当前选定的列表项?
我有一个问题,我不知道如何从选定的目录中过滤图像。我通常使用 directory.setNameFilters({"*.png", "*.jpg"}); 但在这种情况下我不能使用它,因为我需要在 列表
如何在每次迭代时更新 listwidget ?它在 500 次迭代后更新 listwidget。pyqt4、python3.7 def input_val(self): for i in ra
我是一名优秀的程序员,十分优秀!