11
votes

Pyqt presse-papier ne copie pas dans le presse-papiers du système

L'extrait de code suivant ne semble pas affecter le presse-papiers du système: xxx

selon la documentation QT, voici la copie de texte dans le presse-papiers,

Pourquoi ne travaille-t-il pas?

Googling tourné Ceci up.

Il suggère d'ajouter cela après le code ci-dessus: xxx

mais celui-ci se comporte impair: il ne se comporte que Texte dans le Presse-papiers après la sortie du programme. De plus, certaines personnes dans ce lien ont signalé que cela ne fonctionne pas avec Linux.

Mise à jour:

Nevermind, je faisais quelque chose de mal d'autre où, au lieu de lier le logement de copie à Le bouton Copie, je l'ai connecté au bouton "Quit".


0 commentaires

4 Réponses :


5
votes

Je sais que vous n'utilisez pas Windows, mais peut-être que cela vous donnera quelques idées ... J'ai utilisé cela dans un programme PYQT pour copier des URL dans le Presse-papiers:

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.'


2 commentaires

Je suis sur Windows en réalité (principalement, bien que je dispose d'une installation de Linuxmint)


Win32Clipboard semble être un excellent candidat à des mises à jour, en particulier un gestionnaire de contexte avec win32clippboard.open () comme my_clippboard: pour faire les pièces ouvertes, vides et fermer.




13
votes

Vous devrez peut-être spécifier le mode .

Ce code a fonctionné pour moi sous Windows: P>

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


0 commentaires

-1
votes

Désolé pour mon anglais. J'utilise Linux. J'ai écrit cette commande

qapplication.clipboard (). Settext ("Ceci est le Text 2 Clipboard")


1 commentaires

Bonjour et bienvenue. Veuillez utiliser le style de code pour mettre en surbrillance votre code. udrop.com/947h/capture.png Aussi, il semble que l'affiche de la question originale déjà Utilisé ce que vous avez suggéré et plus loin, ajoutez une nouvelle partie à dire qu'il l'a déjà résolu et que le problème était ailleurs. Donc, la question a déjà été résolue résolue