Я пытаюсь передать переменные из класса в одной переменной в класс в другой. Переменная, к которой я пытаюсь получить доступ, находится в классе LoginOrReg в файле LoginOrReg. Я пытаюсь использовать переменные login_username и data. Я пробовал импортировать из LoginOrReg *, но, похоже, это не работает.
Вот мой код в его нынешнем виде
class LoginOrReg:
customtkinter.set_appearance_mode('dark')
customtkinter.set_default_color_theme('blue')
def __init__(self, db, cursor, login_username, data):
self.db = mysql.connector.connect(host = '', user = '', password= '', database="")
self.cursor = self.db.cursor()
self.login_username = login_username
self.data = data
#provides the login screen where the user is asked for an existing username and password
def login(self):
self.login_window = customtkinter.CTk()
self.login_window.geometry('400x400')
self.login_username_entry = customtkinter.CTkEntry(self.login_window, placeholder_text ='Enter Your Username')
self.login_username_entry.pack(pady=30)
self.login_username = self.login_username_entry.get()
self.login_password_entry = customtkinter.CTkEntry(self.login_window, placeholder_text ='Enter Your Password')
self.login_password_entry.pack(pady=30)
self.login_password = self.login_password_entry.get()
self.log_user_in_button = customtkinter.CTkButton(self.login_window, text = 'Login', command = self.log_user_in).pack(pady=30)
self.reg_button = customtkinter.CTkButton(self.login_window, text = 'Register New User', command = self.reg_user).pack(pady=20)
self.login_window.mainloop()
#Logs the user in
def log_user_in(self):
self.habit = HT.HabitTracker(main_window=' ', sorting_options= ' ', sort= ' ', login= ' ')
self.cursor.execute('SELECT username AND password, COUNT(*) FROM users WHERE username=%s AND password=%s GROUP BY username',(self.login_username_entry.get(), self.login_password_entry.get()))
self.cursor.fetchall()
self.row_count = self.cursor.rowcount
if self.row_count == 1:
self.cursor.execute('SELECT userID FROM users WHERE username=%s AND password=%s',(self.login_username_entry.get(), self.login_password_entry.get()))
self.data = self.cursor.fetchone()
print(self.data)
self.user_id = self.data[0]
self.habit.main_menu(LoginOrReg)
else:
self.my_label = customtkinter.CTkLabel(self.login_window, text = "User Not Found. Please Try Again.", font=('Helvetica', 10)).pack(pady=10)
login_reg = LoginOrReg(db = " ", cursor=" ", login_username= ' ', data = ' ')
login_reg.login_or_reg(root=" ")
Я пытаюсь вызвать переменную login_username и data для класса HabitTracker в файле HabitTracker. Код выполняется, но кажется, что присвоенное значение переменных не переносится. Здесь я пытаюсь получить доступ к переменным в файле HabitTracker.
Я пытаюсь передать переменные из класса в одной переменной в класс в другой. Переменная, к которой я пытаюсь получить доступ, находится в классе LoginOrReg в файле LoginOrReg. Я пытаюсь использовать переменные login_username и data. Я пробовал импортировать из LoginOrReg *, но, похоже, это не работает. Вот мой код в его нынешнем виде [code]class LoginOrReg:
def __init__(self, db, cursor, login_username, data): self.db = mysql.connector.connect(host = '', user = '', password= '', database="") self.cursor = self.db.cursor() self.login_username = login_username self.data = data #provides the login screen where the user is asked for an existing username and password def login(self): self.login_window = customtkinter.CTk() self.login_window.geometry('400x400') self.login_username_entry = customtkinter.CTkEntry(self.login_window, placeholder_text ='Enter Your Username') self.login_username_entry.pack(pady=30) self.login_username = self.login_username_entry.get() self.login_password_entry = customtkinter.CTkEntry(self.login_window, placeholder_text ='Enter Your Password') self.login_password_entry.pack(pady=30) self.login_password = self.login_password_entry.get() self.log_user_in_button = customtkinter.CTkButton(self.login_window, text = 'Login', command = self.log_user_in).pack(pady=30) self.reg_button = customtkinter.CTkButton(self.login_window, text = 'Register New User', command = self.reg_user).pack(pady=20) self.login_window.mainloop()
#Logs the user in def log_user_in(self): self.habit = HT.HabitTracker(main_window=' ', sorting_options= ' ', sort= ' ', login= ' ') self.cursor.execute('SELECT username AND password, COUNT(*) FROM users WHERE username=%s AND password=%s GROUP BY username',(self.login_username_entry.get(), self.login_password_entry.get())) self.cursor.fetchall() self.row_count = self.cursor.rowcount if self.row_count == 1: self.cursor.execute('SELECT userID FROM users WHERE username=%s AND password=%s',(self.login_username_entry.get(), self.login_password_entry.get())) self.data = self.cursor.fetchone() print(self.data) self.user_id = self.data[0] self.habit.main_menu(LoginOrReg) else: self.my_label = customtkinter.CTkLabel(self.login_window, text = "User Not Found. Please Try Again.", font=('Helvetica', 10)).pack(pady=10)
login_reg = LoginOrReg(db = " ", cursor=" ", login_username= ' ', data = ' ') login_reg.login_or_reg(root=" ") [/code] Я пытаюсь вызвать переменную login_username и data для класса HabitTracker в файле HabitTracker. Код выполняется, но кажется, что присвоенное значение переменных не переносится. Здесь я пытаюсь получить доступ к переменным в файле HabitTracker. [code]from tkinter import * import mysql.connector import customtkinter import math from datetime import datetime from LoginOrReg import *
def main_menu(self, LR): import LoginOrReg as LR self.login = LR.LoginOrReg(db=' ', cursor= ' ', login_username=' ', data= ' ') self.date = datetime.today() self.main_window = customtkinter.CTk() self.main_window.geometry('1080x720') self.sorting_options = ['Daily', 'Weekly', 'Monthly', 'Highest Streak',] self.mylabel = customtkinter.CTkLabel(self.main_window, text='Welcome {}'.format(self.login.login_username), font=('Arial', 40)).pack(pady=5) self.sort = customtkinter.CTkComboBox(self.main_window, values= self.sorting_options, command= sort_by.sort_by) self.sort.set('Sort By') self.sort.pack(pady=10) self.create_new_habit_button = customtkinter.CTkButton(self.main_window, text='Create New Habit', command=create_habit.create_habit, fg_color='green').pack(pady=20) self.cursor.execute('SELECT habit_name FROM habit WHERE user_id=%s GROUP BY habit_name', (self.login.data,)) self.habits = self.cursor.fetchall() self.j = 0 for j in self.habits: self.habit_button = customtkinter.CTkButton(self.main_window, text=self.habits[self.j], command=lambda k = self.habits[self.j]: edit_habit.edit_habit(k)) self.habit_button.pack(pady=10) self.j = self.j + 1 self.main_window.mainloop() [/code] как вы можете видеть, я попытался создать объект в методе под названием login, а затем получить доступ к переменным, выполнив [code]self.login.data [/code] этот метод не работает.
Я новичок в Drupal 6 и его темизации. Моя тема требовала, чтобы главное меню содержало довольно обширный HTML/CSS для моего разумного стиля. Чтобы добиться этого, я собрал этот код «функцию phptemplate_menu_item» (см. внизу), который находится в...
Я получаю ошибку компилятора о конверсии типа, которая должна быть законной, на мои глаза. Допустим, у меня есть домашний класс строк, конвертируемый из и к Char*.
class custom_string
{
public:
custom_string(const char* str) : _str{str} {}...
Я получаю ошибку компилятора о конверсии типа, которая должна быть законной, на мои глаза. Допустим, у меня есть домашний класс строк, конвертируемый из и к Char*.
class custom_string
{
public:
custom_string(const char* str) : _str{str} {}...
Я получаю ошибку компилятора о конверсии типа, которая должна быть законной, на мои глаза. Допустим, у меня есть домашний класс строк, конвертируемый из и к Char*.
class custom_string
{
public:
custom_string(const char* str) : _str{str} {}...
Я получаю ошибку компилятора о конверсии типа, которая должна быть законной, на мои глаза. Допустим, у меня есть домашний класс строк, конвертируемый из и к Char*.
class custom_string
{
public:
custom_string(const char* str) : _str{str} {}...