Python状态B

2024-10-04 01:34:35 发布

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

我在程序底部添加状态栏时遇到问题。当我这么做的时候状态.pack()它给我这个错误:_tkinter.tc错误:无法在内部使用几何管理器网格。它已经有奴隶被打包管理了。在我的( definit(self):)如果我删除(自身网格(sticky=W+E+N+S)然后窗口弹出,然后状态栏在窗口上,但程序的其余部分不在那里。我想知道是否有人能给我一些关于如何解决这个问题的见解

from tkinter.constants import END
from tkinter import ttk
from tkinter import *
from tkinter import font
from tkinter import messagebox
import tkinter as tk
import turtle 
import random
from tkinter import filedialog
from PIL import Image

class App(Frame):

**********************************************************************************************************************************************************************************************************************8888个

^{pr2}$

************************************************************************************************************************************************************************************************************************************在

''' The code below creates a Status Bar Across the bottom of the page. '''

status = Label(App, text = "This is a status bar...", bd = 1, relief = SUNKEN, anchor = W)
status.pack()

******************************************************************************************************************************************************************************************************************************在

def __init__(self):
    '''Sets up the window and widgets.'''
    Frame.__init__(self, bg = "white" ) #this sets the background color of the window.
    self.master.title("Auto Body Buddy Estimator")  #this is the title of the screen
    self.master.geometry("600x600") #this is the specs for the window size
    self.master.resizable(0, 0)     #this makes the window none resizable
    self.master.columnconfigure(0, weight = 1)
    self.master.rowconfigure(0, weight = 1)
    self.grid(sticky = W+E+N+S)

    #!/usr/bin/python

    '''import cgi, os
    import cgitb; cgitb.enable()

    form = cgi.FieldStorage()

    # Get filename here.
    fileitem = form['filename']

    # Test if the file was uploaded
    if fileitem.filename:
        # strip leading path from file name to avoid 
        # directory traversal attacks
        fn = os.path.basename(fileitem.filename)
        open('/tmp/' + fn, 'wb').write(fileitem.file.read())

        message = ('The file "' + fn + '" was uploaded successfully')

    else:
        message = 'No file was uploaded'

        print """\
        Content-Type: text/html\n
        <html>
        <body>
           <p>%s</p>
        </body>
        </html>
        """ % (message,) '''

***********************************************************************************************************************************************************************在

    ''' Creates the nested frame for the Data pane for the image '''
    self._dataPane1 = Frame(self)#, bg = "orange")
    self._dataPane1.grid(row = 0, column = 0)
    self._pictureImage = PhotoImage(file = "../logo.gif")
    self._imageLabel = Label(self._dataPane1, image = self._pictureImage)
    self._imageLabel.grid(row = 0, column= 0) 

*********************************************************************************************************************************************************************在

    ''' Creates the nested frame for the Data pane'''
    self._dataPaneEntryInfo = Frame(self, bg = "white")
    self._dataPaneEntryInfo.grid(row = 1, column = 0)

    ''' Label and field for First Name '''
    self._firstNameLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "First Name ")
    self._firstNameLabel.grid(row = 0, column = 0)
    self._firstNameVar = DoubleVar()
    self._firstNameEntry = Entry(self._dataPaneEntryInfo, textvariable = self._firstNameVar)
    self._firstNameEntry.grid(row = 0, column = 1)

    ''' Label and field for Last Name '''
    self._LastNameLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Last Name ")
    self._LastNameLabel.grid(row = 1, column = 0)
    self._LastNameVar = DoubleVar()
    self._LastNameEntry = Entry(self._dataPaneEntryInfo, textvariable = self._LastNameVar)
    self._LastNameEntry.grid(row = 1, column = 1)

    ''' Label and field for Phone Number '''
    self._phoneNumberLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Phone Number ")
    self._phoneNumberLabel.grid(row = 2, column = 0)
    self._phoneNumberVar = DoubleVar()
    self._phoneNumberEntry = Entry(self._dataPaneEntryInfo, textvariable = self._phoneNumberVar)
    self._phoneNumberEntry.grid(row = 2, column = 1)

    ''' Label and field for Email '''
    self._EmailLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Email Address ")
    self._EmailLabel.grid(row = 3, column = 0)
    self._EmailVar = DoubleVar()
    self._EmailEntry = Entry(self._dataPaneEntryInfo, textvariable = self._EmailVar)
    self._EmailEntry.grid(row = 3, column = 1)

    ''' Label and field for Address '''
    self._addressLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Address \n (OPITIONAL) ")
    self._addressLabel.grid(row = 4, column = 0)
    self._addressVar = DoubleVar()
    self._addressEntry = Entry(self._dataPaneEntryInfo, textvariable = self._addressVar)
    self._addressEntry.grid(row = 4, column = 1)

*********************************************************************************************************************************************************************在

    ''' Label and field for Year of the Car '''
    self._yearLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Year ")
    self._yearLabel.grid(row = 0, column = 2)
    self._yearVar = DoubleVar()
    self._yearEntry = Entry(self._dataPaneEntryInfo, textvariable = self._yearVar)
    self._yearEntry.grid(row = 0, column = 3)

    ''' Label and field for Make of the Car '''
    self._makeLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Make ")
    self._makeLabel.grid(row = 1, column = 2)
    self._makeVar = DoubleVar()
    self._makeEntry = Entry(self._dataPaneEntryInfo, textvariable = self._makeVar)
    self._makeEntry.grid(row = 1, column = 3)

    ''' Label and field for Model of the Car '''
    self._modelLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Model ")
    self._modelLabel.grid(row = 2, column = 2)
    self._modelVar = DoubleVar()
    self._modelEntry = Entry(self._dataPaneEntryInfo, textvariable = self._modelVar)
    self._modelEntry.grid(row = 2, column = 3)

    ''' Label and field for Package of the Car '''
    self._packageLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "Package ")
    self._packageLabel.grid(row = 3, column = 2)
    self._packageVar = DoubleVar()
    self._packageEntry = Entry(self._dataPaneEntryInfo, textvariable = self._packageVar)
    self._packageEntry.grid(row = 3, column = 3)

    ''' Label and field for VIN # of the Car '''
    self._vinLabel = Label(self._dataPaneEntryInfo, bg = "white", text = "VIN # ")
    self._vinLabel.grid(row = 4, column = 2)
    self._vinVar = DoubleVar()
    self._vinEntry = Entry(self._dataPaneEntryInfo, textvariable = self._vinVar)
    self._vinEntry.grid(row = 4, column = 3)

******************************************************************************************************************************************************************************************************在

    ''' Creates the nested frame for the Data pane'''
    self._dataPaneComment = Frame(self, bg = "black")
    self._dataPaneComment.grid(row = 2, column = 0)

    '''# Label and info field for Comment Box .'''
    self._text = "Enter text here. "
    self._outputArea = Text(self._dataPaneComment, width = 50, height = 10, wrap = WORD)
    self._outputArea.grid(row = 0, column = 0, columnspan = 2)

*********************************************************************************************************************************************************************************************************在

    ''' Creates the nested frame for the Button pane for the Submit'''
    self._buttonPane = Frame(self) #this creates a box for the buttons to be placed in one area.
    self._buttonPane.grid(row = 3, column = 0)#this gives the button pane a position in the GUI

    ''' Black and White button '''
    self._button1 = Button(self._buttonPane, text = "SUBMIT", command = self._NameEntry)#This creates the button.
    self._button1.grid(row = 0, column = 0) #This gives the button a position in the GUI.

********************************************************************************************************************************************************************************************************在

def _NameEntry(self):
    open("Results.txt", "w").close()

    first = self._firstNameEntry.get()
    last = self._LastNameEntry.get()
    phone = self._phoneNumberEntry.get()
    email = self._EmailEntry.get()
    address = self._addressEntry.get()
    year = self._yearEntry.get()
    make = self._makeEntry.get()
    model = self._modelEntry.get()
    package = self._packageEntry.get()
    vin = self._vinEntry.get()


    with open("../" + first + " " + last + ".txt", "a") as the_file:
        the_file.write("First Name: " + first + "\n" "Last Name: " + last + "\n" "Phone Number: " + phone + "\n" "Email: " + email + "\n" 
                       "Address: " + address + "\n" "Year: " + year + "\n" "Make: " + make + "\n" "Model: " + model + "\n" 
                       "Package: " + package + "\n" "Vin: " + vin + "\n")

    '''open("Results.txt", "w").close()
    last = self._LastNameEntry.get()
    with open("../Results.txt", "a") as the_file:
        the_file.write("Last Name: " + last)'''    

    '''first = self._firstNameEntry.get()   
    name = open("Results.txt", "w")
    name.write("First Name: ".insert(first))
    name.close()'''


def main():
'''Instantiate and pop up the window.'''

App().mainloop()
if __name__ == '__main__':
main()

我很确定如何用这段代码上传gif文件。在


Tags: andthetextimportselffieldforget
1条回答
网友
1楼 · 发布于 2024-10-04 01:34:35

错误信息告诉你出了什么问题。如果已经在小部件中使用了一个几何图形管理器,则不能使用其他几何图形管理器。在

在一个框架内不能同时使用pack和grid。你必须使用其中一个。在

您可以制作另一个小部件,然后在这个小部件中使用单独的几何图形管理器,但是您必须使用原始的管理器将其放置在主部件中。在

相关问题 更多 >