【问题标题】:PyQt clipboard doesn't copy to system clipboardPyQt 剪贴板不会复制到系统剪贴板
【发布时间】:2010-11-07 14:18:33
【问题描述】:

下面的sn-p代码似乎根本不影响系统剪贴板:

clipboard = QtGui.QApplication.clipboard()
clipboard.setText(text)

根据 Qt 文档,这是将文本复制到剪贴板的方式,

为什么它不起作用?

谷歌搜索转为this

建议在上述代码后添加:

event = QtCore.QEvent(QtCore.QEvent.Clipboard)
app.sendEvent(clipboard, event)

但是这个行为很奇怪:它只在程序退出后将文本复制到剪贴板。另外,该链接中的一些人报告说这不适用于 linux。

更新:

没关系,我在其他地方做错了,我没有将复制槽绑定到复制按钮,而是将其连接到“退出”按钮。

【问题讨论】:

    标签: python qt pyqt clipboard


    【解决方案1】:

    您可能需要指定mode

    此代码在 Windows 上对我有用:

        cb = QtGui.QApplication.clipboard()
        cb.clear(mode=cb.Clipboard )
        cb.setText("Clipboard Text", mode=cb.Clipboard)
    

    【讨论】:

      【解决方案2】:

      我知道你没有使用 Windows,但也许这会给你一些想法......我在 PyQt 程序中使用它来将 URL 复制到剪贴板:

      import win32clipboard
      
      s = 'copy this to the clipboard'
      try:
          win32clipboard.OpenClipboard()
          win32clipboard.EmptyClipboard()
          win32clipboard.SetClipboardText(s)
          win32clipboard.CloseClipboard()
      except:
          print 'Could not copy clipboard data.'
      

      【讨论】:

      • 我实际上在 Windows 上(主要是,虽然我确实安装了 linuxmint)
      【解决方案3】:

      对不起我的英语。我使用Linux。我只写了这个命令

      QApplication.clipboard().setText("这是文本2剪贴板")

      【讨论】:

      • 您好,欢迎您。请使用代码样式突出显示您的代码。 udrop.com/947h/Capture.PNG 另外,原来的问题海报似乎已经使用了你的建议,后来添加了一个新部分,说他已经解决了,问题出在其他地方。所以问题已经解决了
      【解决方案4】:

      您可以从PyGTK 尝试gtk.Clipboard。我相信它是多平台的。

      这可能是您在使用 PyQt 的 QClipboard 对象时遇到问题的部分原因:

      QClipboard QApplication.clipboard ()

      返回指向应用程序的指针 全局剪贴板。

      注意:QApplication 对象应该 之前已经建好了 访问剪贴板。

      它指向应用程序剪贴板,而不是系统剪贴板。您可能必须使用 QClipboard 对象以外的东西来达到您的目的。

      编辑:

      上述来自引用文档的结论是不正确的。根据实际PyQt documentation of the QClipboard对象:

      QClipboard 类提供对窗口系统剪贴板的访问。

      【讨论】:

      • @Chris Morgan,感谢您指出这一点!我已经回去更新了答案。
      猜你喜欢
      • 1970-01-01
      • 2011-08-29
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多