首页 > 解决方案 > 如何使用python gui将带有按钮的函数链接到输入框?

问题描述

请点击这里查看图片。我想将我的 python 函数与输入框链接起来。假设我将一个函数添加到 gui 中的按钮。如果我单击按钮,则函数输出应显示在 python 输入框上。但我在 python shell 中获取输出。请帮助我解决这个问题。您的代码image1
输出的 @Jundullah输出正在替换为新输入,我需要在旁边打印。图2

****这里是代码****

from tkinter import *

root = Tk()

text_input = StringVar()

operator = ""

txtDisplay= Entry(font=('arial',70,'bold italic'),textvariable=text_input , 
                  bd=30,insertwidth=4,bg="#b0e0e6", justify = "center")

root.title("Alphabet Pattern")

txtDisplay.grid(columnspan=10)

def A():

    """This function will print alphabet A"""

    for i in range(7):

        for j in range(7):

            if ((j==0 or j==6)) and i!=0 or ((i==0 or i==3) and (j>0 and 
                                                                     j<6)):
                print("*",end="")

            else:

                print(end=" ")

        print()

    print()

def C():

    """This function will print alphabet C"""

    for row in range(7):

        for col in range(7):

            if (col==0 and (row!=0 and row!=6) or ((row==0 or row==6) and 
                                                                (col>0))):

                print("*",end="");

            else:

                print(end=" ")

        print()

    print()

#first button

A1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold 
italic'),text="A",bg="#b0e0e6e",command= A ).grid(row=3, column=0)

#second button

C1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold 
italic'),text="C",bg="#b0e0e6",command=  C).grid(row=4, column=2)

root.mainloop()

请给我任何解决上述代码的建议。

标签: pythontkinter

解决方案


使用它而不是打印功能:

用这个:

var = Label(padx=32,pady=32,fg="#000000",font=('arial',30,'bold 
          italic'),text="something",bg="#b0e0e6").grid(row=4, column=2)

它有效,但需要整洁!:)

你应该试试看:

from tkinter import *

root = Tk()

text_input = StringVar()

operator = ""

txtDisplay= Entry(font=('arial',70,'bold italic'),textvariable=text_input , 
bd=30,insertwidth=4,bg="#b0e0e6", justify = "center")

root.title("Alphabet Pattern")

txtDisplay.grid(columnspan=10)

c = ""
a = ""

def A():
    global a
    a = ""
    """This function will print alphabet A"""

    for i in range(7):

        for j in range(7):

            if ((j==0 or j==6)) and i!=0 or ((i==0 or i==3) and (j>0 and j<6)):
                a += "*"

            else:
                a += " "
        a += "\n"

    var["text"] = a

def C():
    global c
    c = ""
    """This function will print alphabet C"""

    for row in range(7):

        for col in range(7):

            if (col==0 and (row!=0 and row!=6) or ((row==0 or row==6) and 
(col>0))):
                c += "*"
            else:
                c += " "
        c += "\n"

    var["text"] = c

var = Label(root)
var.config(text="Allah",bd=0,fg="orange",width=0,height=0,bg="#000000",font= 
                                                         ("courier new",40))
var.place(relx=1,x=-500, y=250, anchor=W)

#first button

A1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold 
italic'),text="A",bg="#0f0f0f",command= A ).grid(row=3, column=0)

#second button

C1 = Button(padx=16,pady=16,bd=8,fg="#000000",font=('arial',30,'bold 
italic'),text="C",bg="#0f0f0f",command=  C).grid(row=4, column=2)

root.mainloop()

推荐阅读