В python я использовал модуль pynput. Я импортировал:
from pynput.keyboard import Controller, Key
До сих пор я использовал только модуль в функции ниже:
def findWord(userRef = None, cmd = None):
keyboard = Controller()
try:
if keyboard.pressed('command+f') == True:
print("Works")
except:
pass
Прямо сейчас я хочу посмотреть, работают ли функции, поэтому я помещаю его в код всплывающего окна:
def wordList(listBox):
findWord()
word_box.insert(0, "List pop up created.")
wordlist = functionRef.words()
pop_up = tk.Tk()
pop_up.title("List")
pop_up.geometry('650x925')
listbox = Listbox(pop_up, height=40, width=60, border=0)
listbox.grid(row=3, column=0, columnspan=3, rowspan=7, pady=20, padx=20)
scroll = Scrollbar(pop_up)
scroll.grid(row=4, column=3)
listbox.configure(yscrollcommand=scroll.set)
scroll.configure(command=listbox.yview)
for word in wordlist:
listbox.insert('end', word)
exit_btn = Button(pop_up, text="ok", command=pop_up.destroy)
exit_btn.grid(column=2, row=20)
word_box.insert(0, "List Pop up deleted")
pop_up.mainloop()
Как видите, я вызвал функцию findWord()
в 1-й строке всплывающего окна. Но когда я запускаю программу, я получаю эту ошибку Traceback and Attribute:
Traceback (most recent call last):
File "/Users/sergioley-languren/Latin_app/Application.py", line 8, in <module>
from pynput.keyboard import Controller, Key
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/pynput/__init__.py", line 40, in <module>
from . import keyboard
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/pynput/keyboard/__init__.py", line 43, in <module>
from ._darwin import KeyCode, Key, Controller, Listener
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/pynput/keyboard/_darwin.py", line 29, in <module>
import Quartz
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/__init__.py", line 100, in <module>
_load()
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/__init__.py", line 28, in _load
from Quartz import CoreGraphics as m
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/CoreGraphics/__init__.py", line 12, in <module>
from Quartz.CoreGraphics import _metadata
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/CoreGraphics/_metadata.py", line 14, in <module>
misc.update({'CGFunctionCallbacks': objc.createStructType('CGFunctionCallbacks', b'{CGFunctionCallbacks=I^?^?}', []), 'CGDeviceByteColor': objc.createStructType('CGDeviceByteColor', b'{CGDeviceByteColor=CCC}', ['red', 'green', 'blue']), 'CGPoint': objc.createStructAlias('CGPoint', sel32or64(b'{CGPoint=ff}', b'{CGPoint=dd}'), objc._resolve_name('Foundation.NSPoint')), 'CGDataProviderCallbacks': objc.createStructType('CGDataProviderCallbacks', b'{CGDataProviderCallbacks=^?^?^?^?}', []), 'CGDataProviderSequentialCallbacks': objc.createStructType('CGDataProviderSequentialCallbacks', b'{CGDataProviderSequentialCallbacks=I^?^?^?^?}', []), 'CGPatternCallbacks': objc.createStructType('CGPatternCallbacks', b'{CGPatternCallbacks=I^?^?}', []), 'CGSize': objc.createStructAlias('CGSize', sel32or64(b'{CGSize=ff}', b'{CGSize=dd}'), objc._resolve_name('Foundation.NSSize')), 'CGDeviceColor': objc.createStructType('CGDeviceColor', b'{CGDeviceColor=fff}', ['red', 'green', 'blue']), 'CGDataProviderDirectAccessCallbacks': objc.createStructType('CGDataProviderDirectAccessCallbacks', b'{CGDataProviderDirectAccessCallbacks=^?^?^?^?}', []), 'CGAffineTransform': objc.createStructType('CGAffineTransform', sel32or64(b'{CGAffineTransform=ffffff}', b'{CGAffineTransform=dddddd}'), ['a', 'b', 'c', 'd', 'tx', 'ty']), 'CGDataConsumerCallbacks': objc.createStructType('CGDataConsumerCallbacks', b'{CGDataConsumerCallbacks=^?^?}', []), 'CGVector': objc.createStructType('CGVector', sel32or64(b'{CGVector=ff}', b'{CGVector=dd}'), ['dx', 'dy']), 'CGPathElement': objc.createStructType('CGPathElement', sel32or64(b'{CGPathElement=I^{CGPoint=ff}}', b'{CGPathElement=i^{CGPoint=dd}}'), ['type', 'points']), 'CGScreenUpdateMoveDelta': objc.createStructType('CGScreenUpdateMoveDelta', b'{CGScreenUpdateMoveDelta=ii}', ['dX', 'dY']), 'CGEventTapInformation': objc.createStructType('CGEventTapInformation', b'{__CGEventTapInformation=IIIQiiBfff}', ['eventTapID', 'tapPoint', 'options', 'eventsOfInterest', 'tappingProcess', 'processBeingTapped', 'enabled', 'minUsecLatency', 'avgUsecLatency', 'maxUsecLatency']), 'CGPSConverterCallbacks': objc.createStructType('CGPSConverterCallbacks', b'{CGPSConverterCallbacks=I^?^?^?^?^?^?^?}', []), 'CGRect': objc.createStructAlias('CGRect', sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}', b'{CGRect={CGPoint=dd}{CGSize=dd}}'), objc._resolve_name('Foundation.NSRect'))})
File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/objc/__init__.py", line 62, in _resolve_name
return getattr(m, name)
AttributeError: module 'Foundation' has no attribute 'NSPoint'
Как я могу это исправить и имел ли Foundation атрибут NSPoint
до Python 3.8 и был ли удален?