Объявление класса Python с помощью customTkinterPython

Программы на Python
Ответить
Anonymous
 Объявление класса Python с помощью customTkinter

Сообщение Anonymous »

В настоящее время я создаю прототип графического пользовательского интерфейса, который представляет собой простую страницу входа. Я новичок в объектной ориентации и не могу понять, почему шрифты не работают. Я пытался разместить их вне объявления класса, а также внутри объявления.
Другая проблема: , когда я пытаюсь передать sv_ttk/tkFonts в класс, я получаю сообщение об ошибке:

Код: Выделить всё

TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Вот мой код:

Код: Выделить всё

from tkinter import *
from tkinter import ttk
import sv_ttk
import tkinter.font as tkFont
import customtkinter

#also attempted on placing it here
sv_ttk.set_theme("dark")
titleFont = tkFont.Font(family="placeholder", size=36, weight="bold")
subTitleFont = tkFont.Font(size=24, weight="bold")
font=customtkinter.CTkFont(size=20)

class App(customtkinter.CTk):

def __init__(self):

super().__init__()

#my attempt on placing it here
self.sv_ttk.set_theme("dark")
self.titleFont = tkFont.Font(family="placeholder", size=36, weight="bold")
self.subTitleFont = tkFont.Font(size=24, weight="bold")
self.font=customtkinter.CTkFont(size=20)

self.title('Log in Interface')
self.geometry('1000x1000')

self.username = StringVar()
self.password = StringVar()

self.title = Label(self, text="Record Finder", font=self.titleFont )
self.subTitleUsername = Label(self, text="Username: ",font=self.subTitleFont )
self.userID = customtkinter.CTkEntry(self, font=self.font, textvariable=self.username)

self.subTitlePassword = Label(self, text="Password: ",font=self.subTitleFont )
self.passwordID = customtkinter.CTkEntry(self, font=self.font, show="*", textvariable=self.password)
self.button = customtkinter.CTkButton(self, text="CTkButton", command=self.getUserCredential, state='disabled')

self.username.trace_add('write',self.statusButton)
self.password.trace_add('write',self.statusButton)

self.title.place(relx = 0.5, rely=0.1, anchor = CENTER)
self.subTitleUsername.place(relx=0.1, rely= 0.3, anchor=W)
self.userID.place(relx=0.1, rely=0.35, anchor=W)
self.subTitlePassword.place(relx=0.1, rely= 0.4, anchor=W)
self.passwordID.place(relx=0.1, rely=0.45, anchor=W)
self.button.place(relx=0.1, rely=0.50, anchor=W)

def statusButton(*args,self):

if(len(self.username.get()) ) > 0 and len(self.password.get()) > 0:
self.button.configure(state='normal')

def getUserCredential(self):

self.userID = self.username.get()
self.passWord = self.password.get()
print(self.userID, self.passWord)

app = App()
app.mainloop()
Также будем рады критике за любые злоупотребления служебным положением.
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... tomtkinter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»