使用 getOpenFileNames 填充 QListWidget

2023-12-14

在下面的示例中,我想用打开 Qdialog 的文件填充我的 QListWidget。我不明白如何添加列表中选择的文件。我应该上新课吗?如何连接 setupList 和 addFiles 这两个方法?

import sys
from PyQt4 import QtCore, QtGui

from datapath import *

class MainWindow(QtGui.QMainWindow):

    def __init__(self):
        super(MainWindow,self).__init__()

        self.sources =[]

        self.setupActions()
        self.setupList()
        self.setupUi()
        self.setupStatusBars()

    def addFiles(self):
        files = QtGui.QFileDialog.getOpenFileNames(
            self,"Open File", dirpath, "txt Files (*.txt)")

        for string in files:
            self.sources.append(str(string))

        return self.sources

    def setupActions(self):
        self.exitAct = QtGui.QAction(
            QtGui.QIcon(':/images/exit.png'),
            "E&xit", self, shortcut="Ctrl+Q",
            statusTip="Exit the application", triggered=self.close
            )

        self.addFilesAct = QtGui.QAction(
            QtGui.QIcon(':/images/open.png'),
            "Add &Files", self, shortcut=QtGui.QKeySequence.Open,
            statusTip="Open an existing file", triggered=self.addFiles
            )

    def setupList(self):
        #FileList
        self.FileList = QtGui.QListWidget(self)
        self.FileList.addItems(self.sources)

    def setupUi(self):
        #Window size
        horiz = 300
        vert  = 300
        self.setGeometry(self.width()/2, self.height()/2,horiz,vert)
        self.setWindowTitle("test")

        #MenuBar
        self.FileMenu = self.menuBar().addMenu("&File")
        self.FileMenu.addAction(self.addFilesAct)
        self.FileMenu.addSeparator();
        self.FileMenu.addAction(self.exitAct)

        #ToolBar
        self.fileToolBar = self.addToolBar("Open")
        self.fileToolBar.addAction(self.addFilesAct)
        self.fileToolBar.setIconSize(QtCore.QSize(64,64))

        #Build Layout
        mainLayout = QtGui.QVBoxLayout()
        mainLayout.addWidget(self.FileList)

        widget = QtGui.QWidget()
        widget.setLayout(mainLayout)

        self.setCentralWidget(widget)

    def setupStatusBars(self):
        self.statusBar().showMessage("Ready")


def main():
    app = QtGui.QApplication(sys.argv)
    mw = MainWindow()
    mw.show()
    sys.exit(app.exec_())

if __name__ == '__main__':

    main()

When self.sources改变时,QListWidget的元素不会改变。所以self.FileList.addItems(self.sources) in setupList()应该删除并放入addFiles()这样每次在对话框中选择文件时,都会调用 QListWidget 的 addItems 方法。然后return self.sources in addFiles()是没有必要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 getOpenFileNames 填充 QListWidget 的相关文章

  • pip 安装最新的依赖版本

    当我使用安装包时pip install e 它仅安装不满足的依赖项并忽略依赖项升级 如何在每次运行时安装最新的依赖版本pip install e 我尝试过使用pip install upgrade e 但是使用这个选项没有任何改变 我仍然得
  • 从 Python 中的 message_from_string() 获取发件人地址

    有人可以告诉我如何在Python中从email message from string 获取发件人地址吗 谢谢 我试过 message email message from string email text from message Fr
  • setColumnStretch 和 setRowStretch 如何工作

    我有一个使用构建的应用程序PySide2它使用setColumnStretch用于柱拉伸和setRowStretch用于行拉伸 它工作得很好 但我无法理解它是如何工作的 我参考了 qt 文档 但它对我没有帮助 我被困在括号内的两个值上 例如
  • 使用 pyppeteer 与 asyncio 关联来抓取内容

    我用 python 结合编写了一个脚本pyppeteer随着asyncio从其登陆页面抓取不同帖子的链接 并最终通过跟踪通向其内页的 url 来获取每个帖子的标题 我这里解析的内容不是动态的 但是 我利用了pyppeteer and asy
  • 如何测试该变量不等于多个事物?

    这是我的一段代码 choice while choice 1 and choice 2 and choice 3 choice raw input pick 1 2 or 3 if choice 1 print 1 it is elif c
  • 如何同时有效地运行多个 Pytorch 进程/模型? Traceback:分页文件太小,无法完成此操作

    背景 我有一个非常小的网络 我想用不同的随机种子进行测试 该网络几乎只使用了我的 GPU 计算能力的 1 因此理论上我可以同时运行 50 个进程来同时尝试许多不同的种子 Problem 不幸的是我什至无法在多个进程中导入 pytorch 当
  • python win32com.client 调整窗口大小

    我正在使用 Python 3 4 1 通过 win32com client 控制 Windows 应用程序 我可以激活它 我可以发送击键 点击等 现在我想知道是否有办法调整窗口大小并将其设置到特定位置 我找不到方法 这里有一些代码片段 所以
  • 如何用pygame画一条虚线?

    我需要在坐标系上绘制正弦波和余弦波 就像在this https i stack imgur com DGI8g png图片 除了没能代表以外 我所有的工作都做得很好虚线和曲线与 pygame 一致 我有与我需要的类似的东西 但我怎样才能让它
  • 清理 MongoDB 的输入

    我正在为 MongoDB 数据库程序编写 REST 接口 并尝试实现搜索功能 我想公开整个 MongoDB 接口 我确实有两个问题 但它们是相关的 所以我将它们放在一篇文章中 使用 Python json 模块解码不受信任的 JSON 是否
  • Python:处理图像并保存到文件流

    我需要使用 python 处理图像 应用过滤器和其他转换 然后使用 HTTP 将其提供给用户 现在 我正在使用 BaseHTTPServer 和 PIL 问题是 PIL 无法直接写入文件流 因此我必须写入临时文件 然后读取该文件 以便将其发
  • Python 模块 BeautifulSoup 提取锚点 href

    我正在使用 BeautifulSoup 模块通过以下方式从 html 选择所有 href def extract links html soup BeautifulSoup html anchors soup findAll a print
  • 私有属性,但却是一个神秘的领域

    我想将属性设为私有 但带有 pydantic 字段 from pydantic import BaseModel Field PrivateAttr validator class A BaseModel a str I want a py
  • python 硒 按名称查找元素

    查找电子邮件输入的正确代码是什么https accounts google com ServiceLogin html 是
  • 在 Python 中引发异常的正确方法是什么? [复制]

    这个问题在这里已经有答案了 这是简单的代码 import sys class EmptyArgs StandardError pass if name main The first way to raise an exception if
  • 类型错误:无法连接“str”和“int”对象有人可以帮助新手使用他们的代码吗?

    感谢任何帮助 还有任何重大缺陷或您在格式或基本方面看到的任何重大缺陷 请指出 谢谢 day raw input How many days locations raw input Where to days str day location
  • PySpark DataFrame 上分组数据的 Pandas 式转换

    如果我们有一个由一列类别和一列值组成的 Pandas 数据框 我们可以通过执行以下操作来删除每个类别中的平均值 df DemeanedValues df groupby Category Values transform lambda g
  • 如何读取多个文件并将它们合并到一个 pandas 数据框中?

    我想读取位于同一目录中的多个文件 然后将它们合并到一个 pandas 数据框中 如果我这样做的话它会起作用 import pandas as pd df1 pd read csv data 12015 csv df2 pd read csv
  • 从 SUDS 中的 SOAP 响应中提取 Cookie

    我必须使用具有多种服务的 API 所有这些都需要来自下面的身份验证的 JSESSION cookie 然而 当我调用下一个服务时 它不会保留 cookie 因此会拒绝它们 from suds client import Client url
  • 基于 Web 请求在 Airflow 上运行作业

    我想知道是否可以在通过 HTTP 收到请求时执行气流任务 我对 Airflow 的调度部分不感兴趣 我只是想用它来代替芹菜 因此 示例操作如下所示 用户提交一份表格 请求某些报告 后端接收请求并向用户发送请求已收到的通知 然后后端使用 Ai
  • 从 HDF5 文件中删除信息

    我意识到 SO 用户以前曾问过这个问题question https stackoverflow com questions 1124994 removing data from a hdf5 file rq 1但它是在 2009 年被问到的

随机推荐

  • 当 ASP.NET 5 (vNext) 无法重定向绑定时我该怎么办?

    我刚刚接触 MVC 6 我安装了 VS 2015 并使用默认设置ASP NET 5 preview MVC Web Application模板在本地 IIS 下一切运行良好 然后我尝试使用以下命令切换默认 DI 容器StructureMap
  • 如何访问输出阶段的 Mapper/Reducer 计数器?

    我在 Mapper 类中创建了一些计数器 使用 appengine mapreduce Java 库 v 0 5 编写的示例 Override public void map Entity entity getContext increme
  • RewriteCond 文件存在

    这么简单的问题但我和htaccess却一直相处不来 如果文件存在 则提供该文件 如果 URI 只是 并且 index html 存在 则提供 index html 否则提供 app php 这是 htaccess Disable the d
  • 如何在 ASP.NET 表单上设置必需的复选框?

    我对此进行了一些搜索 并且找到了几个部分答案 但是没有任何东西让我感到温暖模糊 这是执行此操作的正确方法 要回答针对此问题最常见的投诉 复选框可以有两种合法状态 选中和未选中 这是一个 我接受条款和条件 复选框 必须选中该复选框才能完成注册
  • 将 LINQ 结果转换为 ObservableCollection

    事实上 它是 LINQ 结果可能与该问题无关 但无论如何我都会提到它 因为这是导致该问题的上下文 我运行 LINQ 查询 结果是 IEnumerable
  • 颤动箭头标签栏?

    How I can make the cursor of tab bar with an arrow like this 您可以使用自定义画家和选项卡指示器来实现您的愿望指示器 import package flutter material
  • 使用 TypeScript 的条件类型

    假设我有这个 type TypeMapping Boolean boolean String string Number number ArrayOfString Array
  • 如何在 Rust 结构中保存迭代器

    我正在尝试这样做 struct RwindIter iter Box
  • 需要帮助,出现错误“TypeError: __init__() 需要 5 个位置参数,但给出了 6 个”

    我刚刚开始上课并理解基本概念 但是我不明白为什么它会给我这个错误 My code import pygame pygame init screen pygame display set mode 400 300 done False whi
  • 使用 AND 运算符进行 Mongoose 文本搜索

    所以我想做的是用 mongoose 到 mongoDb 进行 AND 搜索 但结果来自 OR 搜索 有这方面的设置吗 查询如下所示 exampleModel find text search searchParams score meta
  • React js Web应用程序中的溢出问题

    这是我正在使用的样式表 在移动设备和平板电脑视图中使用此功能时会出现溢出问题 但在桌面视图中则没有任何问题 任何人都可以为此提出解决方案吗 我正在开发一个reactjs web应用程序并托管在firebase中 如果我添加较少数量的技术语言
  • 如何让两个tooltip id独立关闭,并记住cookie?

    我正在尝试使用 jQuery HTML 和 CSS 制作工具提示 每个工具提示的 ID 都不同 而且效果很好 因此我可以根据需要制作任意数量的工具提示并独立设置它们的样式 我不明白的是如何在不影响其他工具提示的情况下关闭工具提示 我使用 R
  • 无限水平滚动UIScrollView

    我有一个 UIScrollView 其内容大小为 1200x480 我上面有一些图像视图 其宽度加起来为 600 当向右滚动时 我只需增加内容大小并设置偏移量 以使一切变得平滑 然后我想添加其他图像 但这并不重要现在 所以基本上 当前在视口
  • 如何在没有 Ajax Toolkit 的情况下显示加载图像直到 gridview 完全加载?

    QUESTION 谁能建议如何在 gridview 完全加载之前显示加载图像 该网格视图将在页面加载时呈现 必须有一个简单的解决方案来检测 gridview 何时加载 加载 以便可以实现加载图像和 gridview 可见性之间的简单切换 请
  • Internet Explorer 8 支持 HTML 5 吗?

    IE8 是否支持 HTML5 它在 IE8 路线图上吗 IE8 beta 2 支持 HTML5 的两个 API 跨文档消息传递 and 非 SQL 存储 IE8 beta 2没有实现HTML5解析算法或新元素 没有
  • Spark:回归模型阈值和精度

    我有逻辑回归模式 我明确地将阈值设置为 0 5 model setThreshold 0 5 我训练模型 然后我想要获得基本统计数据 精确度 召回率等 这就是我评估模型时所做的 val metrics new BinaryClassific
  • Yii 迁移,未创建表

    我是 Yii 新手 仍在学习 我正在遵循书籍教程 在这里我按照书中所写创建了一个新的迁移 yiic migrate create create issue user and assignment tables 在 safeup 中我写了这个
  • LINQ 查询查找列表中的项目是否包含在另一个列表中

    我有以下代码 List
  • Java的时差[重复]

    这个问题在这里已经有答案了 为什么下面的Java代码的输出是04 18 23而不是03 18 23 public static void main String args SimpleDateFormat sdf new SimpleDat
  • 使用 getOpenFileNames 填充 QListWidget

    在下面的示例中 我想用打开 Qdialog 的文件填充我的 QListWidget 我不明白如何添加列表中选择的文件 我应该上新课吗 如何连接 setupList 和 addFiles 这两个方法 import sys from PyQt4