AttributeError:类框架没有属性“StringVar”

2024-09-24 00:33:40 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有下面的代码。我尝试了各种各样的方式来使用StringVar,但是什么也没发生。这就是为什么a转向你哦,上帝啊。请告诉我怎么通过。我在Entry1中有一个输入,我需要把这个输入输入到一个sql中(因为它不重要,我把它删掉了),然后返回它的值,并把它写进Entry1而不是原来的输入。我的主,所以请停下来!你知道吗

#!usr/bin/python
#-*- coding: utf-8 -*-

import os
import time
import mysql.connector
import getpass
import smtplib
from email.mime.text import MIMEText
global atado_kartya_input
global atvevo_kartya_input
from PIL import Image, ImageTk
#from Tkinter import Tk, Text, TOP, BOTH, X, N, LEFT
from Tkinter import * 
from Tkinter import Tk as tk
from ttk import Frame, Style, Entry, Label

class Example(Frame):
    def __init__(self, parent):

        Frame.__init__(self, parent)

        self.parent = parent
        self.initUI()
        self.addbutton()

    def addbutton(self):        
        b = Button( self, text= "Get!", width = 10, command= self.callback)
        b.pack()

    def callback(self): 
        #07561847   
        #tk()
        atvevoText = Frame.StringVar()
        atvevoText = atvevo(self.entry1.get()) #from the "atvevo" function it gets a name of a worker form an SQL statement
        self.entry1.delete(0, 'end')
        self.entry1.insert(0, atvevoText)
        #self.entry1 = Entry(self, textvariable = atvevoText )

        print(atvevoText)

    def initUI(self):
        self.parent.title("Pozi")
        self.pack(fill = BOTH, expand=True)

        frame1 = Frame(self)
        frame1.pack(fill=X)

        lbl1 = Label(frame1, text = "ĂtadĂł kártyája", width = 30)
        lbl1.pack(side = LEFT, padx=5, expand=True)

        self.entry1 = Entry(frame1)
        self.entry1.pack(side = LEFT, padx=5, expand=True)

        frame2 = Frame(self)
        frame2.pack(fill=X)

        lbl2 = Label(frame2, text = "ĂrvevĹ‘ kártyája", width = 30)
        lbl2.pack(side = LEFT, padx=5, expand=True)

        entry2 = Entry(frame2)
        entry2.pack(side = LEFT, padx=5, expand=True)

        frame3 = Frame(self)
        frame3.pack(fill=X)

        lbl3 = Label(frame3, text = "ĂrvevĹ‘ kártyája", width = 30)
        lbl3.pack(side = LEFT, padx=5, expand=True)

        entry3 = Entry(frame3)
        entry3.pack(side = LEFT, padx=5, expand=True)

        frame4 = Frame(self)
        frame4.pack(fill=BOTH, expand = True)

        lbl4 = Label(frame4, text = "Title", width = 30)
        lbl4.pack(side = LEFT, anchor=N, padx=5, pady=5)

        txt = Text(frame4)
        txt.pack(fill = BOTH, padx=5, pady=5, expand=True)      

         #Style().configure("TFrame", backgroung = "#333") # tframe háttérszinét beállítjuk90%  
def main():

    root = Tk()
    root.geometry("550x450+300+300") # width x heigth + x + y (on screen)
    app = Example(root)
    root.mainloop()  


if __name__ == '__main__':
    main()      

更新

我必须这样改变:

    def callback(self): 
        #07561847   
        #tk()
        atvevoText = StringVar()
        number = self.entry1.get()
        self.entry1.delete(0, 'end')
        #self.entry1.insert(0, atvevoText)
        self.entry1 = Entry(self, textvariable = atvevoText )
        atvevoText = atvevo(number)             
        print(atvevoText)

*有了它,我没有什么可支持的,也没有错误,也没有价值:(*


Tags: textfromimportselftruedefleftframe