首页 > 解决方案 > 如何在python中连接gui和主要代码

问题描述

我想制作一个可以在每个平台上运行的字典程序。我对其进行了编码,它基本上可以工作,用户在单击“Q”之前双击选择了一个单词,它给出了选定的单词定义。然后我需要一个图形用户界面。我做到了,但我无法连接它们。

dict.txt 的例子:https ://i.stack.imgur.com/Z9WMJ.png

权杖 (a.) 属于或关于权杖的;像权杖。观察 (vt) 辨别; 感知。Schade (n.) 阴影;阴影。沙 (n.) SeeShah。Schediasm (n.) 在活页纸上草草书写。

主要代码;

import pyautogui as pya
import pyperclip  
import time
import keyboard
import re
import sys


liste = list()

def copy_clipboard():
    time.sleep(5)
    pya.hotkey('ctrl', 'c')
    time.sleep(.01)
    return pyperclip.paste()

def click(key, *args,**kwargs): #
    oldword = pyperclip.paste()
    time.sleep(.01)
    pya.hotkey('ctrl','c')
    newword = pyperclip.paste()
    time.sleep(.01)
    pyperclip.copy(oldword)
    capitalizing = newword.capitalize()
    delete_space = capitalizing.strip()
    word = delete_space
    print(word)

    file = open('dict.txt', 'r') 

    for line in file:  
        if word == line.split(" ")[0]:

            letters = re.sub(word, " ", line)
            liste.append(letters)
            print(liste)
    file.close()


while True:
    try: 
        if keyboard.on_press_key('q',click):
            print('You Pressed a Key!')
            sleep(.01)
            break
        else:
            pass
    except:
        break

桂;

import tkinter as tk

window = tk.Tk()

window.geometry("300x400+1200+200")
window.title("dict")
#window.wm_attributes("-alpha")

button = tk.Button(text = "Yuppi")
button.pack()
sbr = tk.Scrollbar(window)
sbr.pack(side=tk.RIGHT,fill="y")

text1 = tk.Text(window)
text1.insert(tk.INSERT, liste)#letters or liste has to be here
text1.pack()

window.mainloop()

标签: pythonpython-3.xtkinter

解决方案


不幸的是,将 GUI 连接到后端程序需要彻底检查后端代码。当您制作 Tkinter GUI 时,您通常会在后端使用的许多控件,例如“打印 (...)”,使用 tk.Label(window, text=...).place(x=x,y =y)。因此,您基本上必须将您的 GUI 合并到您的后端代码中。


推荐阅读