从 pyqt4 中的 QTableView 复制/粘贴多个项目?

2023-12-27

We can select multiple items(partial rows and partial columns) from QTableView using self.tableView.setSelectionMode(QAbstractItemView.ExtendedSelection), but after selecting some rows and columns(partial and partial) if I do CTRL+C and paste it in notepad it only pastes one item(one value from the tableView)?

My Code:

tab_table_view = QtGui.QWidget()
self.Tab.insertTab(0, tab_table_view, self.File_Name)
self.tableView = QtGui.QTableView(tab_table_view)
self.tableView.setGeometry(QtCore.QRect(0, 0, 721, 571))
self.model = QtGui.QStandardItemModel(self)
self.model.setSortRole(QtCore.Qt.UserRole)
self.tableView.setModel(self.model)

    self.tableView.setSelectionMode(QAbstractItemView.ExtendedSelection) '''this helps for selecting multiple items but not able to copy and paste multiple values to a text/ excel (it only copies single value)'''

我们如何复制并粘贴多个项目?


self.tableView.installEventFilters(self)

现在,添加事件过滤器:

def eventFilter(self, source, event):
        if (event.type() == QtCore.QEvent.KeyPress and
            event.matches(QtGui.QKeySequence.Copy)):
            self.copySelection()
            return True
        return super(Window, self).eventFilter(source, event)

复制功能:

def copySelection(self):
        selection = self.tableView.selectedIndexes()
        if selection:
            rows = sorted(index.row() for index in selection)
            columns = sorted(index.column() for index in selection)
            rowcount = rows[-1] - rows[0] + 1
            colcount = columns[-1] - columns[0] + 1
            table = [[''] * colcount for _ in range(rowcount)]
            for index in selection:
                row = index.row() - rows[0]
                column = index.column() - columns[0]
                table[row][column] = index.data()
            stream = io.StringIO()
            csv.writer(stream).writerows(table)
            QtGui.qApp.clipboard().setText(stream.getvalue())       
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 pyqt4 中的 QTableView 复制/粘贴多个项目? 的相关文章

随机推荐

  • 返回 NaN 的数组数组

    那么为什么 myarray bla bl 总是等于 NaN 如果我对一维 myarray bla 做同样的事情 我会得到数字 var bla blabla var bl bla var myarray for i 0 i lt 10 i i
  • 如何对 iPhone 通讯录进行排序?

    我如何以编程方式按名字和姓氏对 iphone 通讯录进行排序 或检索排序数组 任何帮助将不胜感激 谢谢 Call ABAddressBookCopyArrayOfAllPeople 获取地址簿中所有人员记录的数组 然后关注文档 http d
  • django/ajax:无法在views.py中获取Ajax发布数据

    我从 django 后端获取 ajax post 数据时遇到问题 我不知道如何传递该值 请帮忙 在 html 中我只有这样
  • 如何在 Spring 中为 @Service 命名多个名称?

    我需要类似的东西 Named bean1 bean2 Service bean1 bean2 我该怎么做 不是直接的 按照你的方式 但这可以通过重新定义现有的 Service or Component as a Bean无论是一个名字还是一
  • 使用 firebase 部署 React 应用程序时如何隐藏源代码?

    这是我在 stackoverflow 上的第一篇文章 我写信是因为我找不到问题的明确答案 我不知道标题是否正确 但这就是我的意思 情况 我正在使用 React 创建一个单页面应用程序 并打算使用 Node js 和 Express js 构
  • 无法使用 varbinary 更新个人资料图片

    我正在尝试使用 varbinary SQL Server 2008 更新我的个人资料图片 它似乎没有更新我放在文件上传中的图片 下面是我用来更新我的个人资料图片的代码 请帮我看看我的编码的哪一部分做错了 谢谢 protected void
  • 使用 Ninject 2 将参数传递给 WCF ServiceHost 类型

    我想使用 Ninject Wcf 扩展来创建参数化服务主机实例 例如我有一堂课MyWCFHandler仅有以下构造函数 public MyWCFHandler UserManager manager manager manager 但是当我
  • Shiny 默认字体是什么?

    Shiny 默认字体是什么 去哪里查呢 library shiny ui lt fluidPage What font is used here server lt function input output session shinyAp
  • 如何从所有文档中仅返回数组的嵌套文档

    我有一个关于查询嵌套文档的问题 我尝试搜索 但没有任何答案回答我的问题 或者我可能忽略了它 我有这样的结构 id ObjectId 592aa441e0f8de09b0912fe9 name Patrick Rothfuss books t
  • 数据丢失 TCP IP C# [重复]

    这个问题在这里已经有答案了 这是我的代码 private void OnReceive IAsyncResult result NetStateObject state NetStateObject result AsyncState So
  • for 循环内声明的变量范围

    for int i 0 i lt 10 i int j 0 j 是块变量还是局部变量 我看到 j 的范围仅限于 for 循环结束 局部变量在方法 构造函数或块中声明 由此可见 所有块变量都是局部变量 根据定义Block http docs
  • CLPlacemark - 状态缩写?

    我想知道是否可以从 CLPlacemark 获取州缩写 Apple 的 CLPlacemark Reference 中指出 行政区域 与地标关联的州或省 只读 property 非原子 只读 NSString administrativeA
  • 导入两个同名的包

    我使用 pip 安装了两个我需要的库 它们的功能相关 但无法处置它们中的任何一个 问题是 一旦解压 它们具有相同的名称 并且它们中的功能都被导入为 import the package from the package import a b
  • SwiftData 逆关系在 Xcode 15 beta 7 中停止工作

    此方法在 Xcode 15 beta 7 之前有效 Model final class Item var name String Relationship inverse Note item var notes Note init name
  • 当前页面的 url,不带页面名称和查询字符串

    正如问题中提到的 我想获取不带页面名称和查询字符串的页面网址 例如我的网址是 http sub domain com app page php var abc http sub domain com app page php var abc
  • 重叠向量::插入的行为

    C 标准在哪里声明传递给的迭代器对std vector insert不得与原始序列重叠 编辑 为了详细说明 我很确定该标准不需要标准库来处理这样的情况 std vector
  • 如何在 ASP.NET 中以编程方式请求 URL?

    我希望服务器以编程方式调用 URL ashx 页面 并将响应存储为字符串 使用 HttpWebRequest 似乎无法正常工作 因为我不想在那里重定向客户端 Thanks 如果您想调用另一个页面并以字符串形式获取响应 您可以使用WebCli
  • 任何文件扩展名的正则表达式

    我正在尝试构建一个正则表达式来判断字符串是否是有效的文件扩展名 它可以是任何扩展 hello no hello Yes hello No hello world No hello world No hello world No 我已经尝试过
  • 如何在 ASP.NET MVC 3 (Razor) 中将值从视图传递到控制器?

    我在数据库中有这张表 https i stack imgur com C7CWX png https i stack imgur com C7CWX png 我通过此代码 视图 显示 音乐 中的所有值 无需重复 foreach var it
  • 从 pyqt4 中的 QTableView 复制/粘贴多个项目?

    We can select multiple items partial rows and partial columns from QTableView using self tableView setSelectionMode QAbs