Python, Kivy: 如何一键复制到剪贴板?

Python, Kivy: How to copy to clipboard on the click of a button?

我想通过单击按钮将文本复制到剪贴板。示例代码:

.py

from kivy.app import App
from kivy.uix.screenmanager import Screen, ScreenManager

sm = ScreenManager()

class main(Screen):
    def generate(self):
        text = 'Testing123456'
        #copy to clipboard

class MyApp(App):
    def build(self):
        sm.add_widget(main(name='main'))

        return sm

if __name__ == '__main__':
    MyApp().run()

.kv

<main>
    FloatLayout:
        Button:
            text: 'Generate'
            font_size: (self.height - len(self.text) * 2) / 2
            size_hint: 0.5, 0.2
            pos_hint: {'x': 0.25, 'y': 0.1}
            on_release: root.generate()

我的代码还有很多,但我决定将其删除,因为那样会偏离主题。如果您需要我的其余代码,请随时告诉我。

感谢帮助!!

你没有解释你的问题是什么,但你有所有的文档:Clipboard

from kivy.core.clipboard import Clipboard
 
class main(Screen):
    def generate(self):
        text = 'Testing123456'
        Clipboard.copy(text)

这对我有用 Linux。

如果您正在处理 Windows OS,您可以创建一个 嵌套函数 OS 模块 调用 cmd 函数:

import os
def addToClipBoard(text):
    command = 'echo ' + text.strip() + '| clip'
    os.system(command)

a = input("Ingrese el dato:")
addToClipBoard(a)

您可以使用 Kivy

将此功能添加到按钮的 事件检测器