Dmustache
@Dmustache
Python, Cpp, SQL

Как получить переменную, которая находится внутри класса?

Пишу программу, которая будет отправлять данные на SQL сервер, для этого нужно окно входа (пока они такие)
но столкнулся с ошибкой, и не знаю, как ее решить(((
Пишет:
'NoneType' object has no attribute 'get'
Вот мой код:
from tkinter import *

class LoginFrame(Frame):
    def __init__(self, master):
        super().__init__(master)

        self.label_driver = Label(self, text="Драйвер:").grid(row=0, sticky=E)
        self.entry_driver = Entry(self).grid(row=0, column=1)

        self.label_server = Label(self, text="Сервер:").grid(row=1, sticky=E)
        self.entry_server = Entry(self).grid(row=1, column=1)

        self.label_database = Label(self, text="База Данных:").grid(row=2, sticky=E)
        self.entry_database = Entry(self).grid(row=2, column=1)

        self.logbtn = Button(self, text="Login", command=self._login_btn_clicked)
        self.logbtn.grid(columnspan=3)

        self.pack()

    def _login_btn_clicked(self):
        driver = self.entry_driver.get()
        server = self.entry_server.get()
        database = self.entry_database.get()
        connectionString = (f'DRIVER={driver};SERVER={server};database={database};Trusted_Connection=True;')
        print(connectionString)

root = Tk()
lf = LoginFrame(root)
root.mainloop()

Код, который я взял за основу
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
shabelski89
@shabelski89
engineer
перепишите как в примере, метод grid отдельно
self.label_driver = Label(self, text="Драйвер:")
        self.label_driver.grid(row=0, sticky=E)
        self.entry_driver = Entry(self)
        self.entry_driver.grid(row=0, column=1)

для всех блоков, и все заработает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы