Базовый калькулятор в графическом интерфейсе

Это исключение com.mysql.jdbc.exceptions.jdbc4.CommunicationsException возникает, если соединение с базой данных простаивает в течение длительного времени.

Это незанятое соединение возвращает true на connection.isClosed();, но если мы попытаемся выполнить инструкцию, тогда оно запустит это исключение, поэтому я предлагаю пойти с пулом базы данных.

-1
задан Einzig7 13 July 2018 в 14:42
поделиться

2 ответа

Вы используете строки, в которых вы должны использовать числа (IntVar).

Используйте числа

x=tkinter.IntVar()
a=tkinter.IntVar()
b=tkinter.IntVar()

try

x.set(x.get()+1)

[...]

def add():
     a=x.get()
     x.set(0)
def ans():
     b=x.get()
     x.set(a+b)

вместо

x.set(x.get()+'1')
-1
ответ дан Claude 17 August 2018 в 12:40
поделиться
  • 1
    если я использую вышеуказанную идею, я получаю эту ошибку «Файл» /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter / __ init __. py », строка 1702, в вызове return self.func (* args) File & quot; / Users / ishangrover / Desktop / Python Practice files / Basic Calculator.py & quot ;, строка 9, в двух x.set (x.get () + '2') TypeError: неподдерживаемый тип (-ы) операндов для +: 'int' и 'str' – Ishan Grover 13 July 2018 в 14:23
  • 2
    Нет, когда вы вводите 1 и 2 в калькулятор (без нажатия +), вы ожидаете, что оно станет 12, а не 3. Вот почему x является строкой. – fhdrsdg 13 July 2018 в 14:25
  • 3
    Итак, что должно сделать изменения, чтобы получить 12, а не 3 – Ishan Grover 13 July 2018 в 14:40
  • 4
    @IshanGrover Нет, нажатие 1 и 2 уже дает 12 в коде, который у вас есть. Вы должны вносить изменения только в функции add и ans, как я объяснил в своем ответе. – fhdrsdg 13 July 2018 в 14:54

В ваших функциях add и ans вы используете a и b в качестве переменных вместо IntVar s. Измените их на:

def add():
     a.set(x.get())
     x.set('')
def ans():
     b.set(x.get())
     x.set(a.get()+b.get())
0
ответ дан fhdrsdg 17 August 2018 в 12:40
поделиться
Другие вопросы по тегам:

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