В настоящее время я пытаюсь закодировать PDF-слияние в Python и использую tkinter для кодирования GUI моего приложения. Обратите внимание, что это мой первый настоящий проект на Python.
Я кодировал класс для своего основного приложения и создал другой класс с именем browseButton, чтобы легче манипулировать специальным типом кнопки, которая наследуется от tkinter.Button.
Однако кнопки, созданные с помощью этого класса, не отображаются в главном приложении после использования grid () для их размещения.
Вот мой код
import tkinter as tk
from tkinter import filedialog
import openFile
class mainApplication(tk.Tk):
def __init__(self, parent=None):
tk.Tk.__init__(self, parent)
self.parent=parent
self.initialize()
def initialize(self):
self.grid()
self.browseLabel=tk.Label(self, text='Select the 2 PDF files to merge.', anchor='w', fg='black')
self.browseLabel.grid(row=1, columnspan=10, pady=20)
createQuitButton(self)
createMergeButton(self)
self.browseButton1=browseButton(self)
self.browseButton2=browseButton(self)
self.browseButton1.button.grid(row=5, column=2)
self.browseButton2.button.grid(row=5, column=9)
self.browseButton1.buttonLabel.grid(row=4, column=2)
self.browseButton2.buttonLabel.grid(row=4, column=9)
def merge(self):
pass
class browseButton(tk.Button):
def __init__(self, parent=None):
tk.Button.__init__(self, parent)
self.parent=parent
self.createButton()
def openFile(self):
openFile.askOpenFile()
self.changeButtonLabel()
def createButton(self):
browseButton.buttonLabel=tk.Label(self, text='Select file', anchor='w', fg='black')
browseButton.button=tk.Button(self, text='Browse', command=self.openFile)
def changeButtonLabel(self):
self.buttonLabel['text']='File Found!
Пожалуйста, может кто-нибудь сказать мне, почему это не работает?