【问题标题】:how do I get the input from sg.InputText and set the key inputted it to keyboard.press()如何从 sg.InputText 获取输入并将输入的键设置为 keyboard.press()
【发布时间】:2023-01-12 18:05:20
【问题描述】:

当我按下“运行”时,它将键入 sg.InputText 提供的密钥。它给出的错误是 ValueError(Key)

from pynput.keyboard import Key, Controller 
import time
import PySimpleGUI as sg

sg.theme('Black')
layout = [
            [sg.Text('Key To Click'), sg.InputText()],
            [sg.Button('Run'), sg.Button('Close Application')] ]
window = sg.Window('Macro', layout)

keyboard = Controller()



while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Close Application': 
        break
    print('You entered ', values[0])
    if event == 'Run':
        keyboard.press(values[0])
        if values == None:
            print('Please Type A Letter!')

    window.close()

【问题讨论】:

    标签: pysimplegui pynput


    【解决方案1】:

    “运行”的事件处理程序看起来不对,应该检查输入的内容,然后检查下一步的操作。

    while True:
    
        event, values = window.read()
    
        if event == sg.WIN_CLOSED or event == 'Close Application':
            break
    
        print('You entered ', values[0])
    
        if event == 'Run':
            key = values[0]
            if len(key) == 1:
                keyboard.press(key)
            else:
                print('Please Type A Letter!')
    
    window.close()
    

    【讨论】:

    • 这很完美,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    相关资源
    最近更新 更多