Уведомления

Группа в Telegram: @pythonsu

#1 Март 13, 2016 14:31:16

Lexanic37
Зарегистрирован: 2016-03-13
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять ошибку

from tkinter import *
class But_print():
def __init__(self):
self.create()
def create(self):
self.plus = Button(app, text = “+”)
self.plus.bind(“<Button-1>”, self.get)
self.plus.grid(row = 1, column = 0)


self.minus = Button(app, text = “-”)
self.minus.grid(row = 1, column = 1)


self.schet = Button(app, text = “=”)
self.schet.bind(“<Button-1>”, self.schet)
self.schet.grid(row = 0 , column = 1)


self.ent = Entry(app, width = 20 )
self.ent.insert(0, “введите число ”)
self.ent.grid(row = 0, column = 0)



def get(self, event):
one_number = self.ent.get()
self.ent.delete(0, END)
def schet(self, event):
two_number = self.ent.get()
self.ent.delete(0, END)
self.ent.insert(0, “Введите 2 число ”)
print(two_number)


root = Tk()
root.title(“Калькулятор”)
root.geometry(“200x100”)
app = Frame(root)
app.grid()
obj = But_print()
root.mainloop()
ТОлько начал свой путь в мир графического интерфейса поогите плз ничего не происходит по нажатию кнопки “=” Ошибка: Exception in Tkinter callback

Офлайн

#2 Март 13, 2016 14:37:26

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Не могу понять ошибку

Оберните код в тег code. Ничего же не понятно…

Офлайн

#3 Март 13, 2016 23:49:16

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Не могу понять ошибку

Вы этого хотели?

import tkinter as tk
class But_print():
	def __init__(self):
		self.create()
	def create(self):
		self.plus = tk.Button(text = "+")
		self.plus.bind("<Button-1>", self.get)
		self.plus.grid(row = 1, column = 0)
		self.minus = tk.Button(text = "-")
		self.minus.grid(row = 1, column = 1)
		self.calc = tk.Button(text = "=")
		self.calc.bind("<Button-1>", self.make_calc)
		self.calc.grid(row = 0 , column = 1)
		self.ent = tk.Entry(width = 20) 
		self.ent.insert(0, "введите число ")
		self.ent.grid(row = 0, column = 0)
	def get(self, event):
		first_number = self.ent.get()
		self.ent.delete(0, tk.END)
	def make_calc(self, event):
		second_number = self.ent.get()
		self.ent.delete(0, tk.END)
		self.ent.insert(0, "Введите 2 число ")
		print(second_number)
root = tk.Tk()
root.title("Калькулятор")
root.geometry("200x100")
app = tk.Frame(root)
app.grid()
obj = But_print()
root.mainloop()
1) У вас переменная schet совпадает с именем процедуры, так делать нельзя
2) Нельзя импортировать весь tkinter по той же причине (имена локальных процедур и процедур из tkinter могут совпасть)
3) Продумайте логику программы. Не очень удобно считывать числа по отдельности
4) Лучше использовать нормальные английские слова, а не транслитерацию

Офлайн

#4 Март 16, 2016 18:06:22

Kylik
Зарегистрирован: 2016-03-16
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять ошибку


Подскажите начинающему!
Не могу разобраться как запускать программы из командной строки windows,в значении переменной PATH путь к интерпретатору указал правильно:
C:\Users\WINDOWS>python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:38:48) [MSC v.1900 32 bit (In
tel)] on win32
Type “help”, “copyright”, “credits” or “license” for more
>>>
А вот при попытке открыть программу ничего не выводитпримеры из Марк Лутц “Изучаем программирование”)

C:\Users\WINDOWS>python script1.py
C:\Users\WINDOWS>

Или выдает ошибку,хотя программы сохранены в той же папке что и интерпретатор:

C:\Users\WINDOWS>python myfile.py
python: can't open file ‘myfile.py’: No such file or directory
C:\Users\WINDOWS>

И как правильней и удобней их запускать?

Офлайн

#5 Март 16, 2016 18:19:15

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Не могу понять ошибку

Kylik
Или выдает ошибку,хотя программы сохранены в той же папке что и интерпретатор
*.py(w) надо сохранять не в каталоге с интерпретатором, а в каталоге, откуда запущен cmd, в вашем случае - C:\Users\WINDOWS. Либо меняйте текущий каталог в cmd через cd и через dir посмотрите, находятся ли ваши программы в текущем каталоге.
И как правильней и удобней их запускать?
Установите Geany. Откройте в нем программу и запускайте через F5.

Офлайн

#6 Март 16, 2016 23:11:27

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Не могу понять ошибку

Geany под виндой - вы в своем уме?
Pycharm free edition и все.
А если IDE влом то уже лутче SublimeText



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Март 17, 2016 01:20:04

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Не могу понять ошибку

ZerG
Geany под виндой
А почему бы и нет?

Офлайн

#8 Март 17, 2016 08:19:48

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Не могу понять ошибку

Потому что такая суровая статистика что Джени для питон девелопа используют только мазахисты патриоты. Лутче уже VIM тогда



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#9 Март 17, 2016 13:37:06

vanvanov
Зарегистрирован: 2013-03-31
Сообщения: 252
Репутация: +  4  -
Профиль   Отправить e-mail  

Не могу понять ошибку

ZerG
Потому что такая суровая статистика что Джени для питон девелопа используют только мазахисты патриоты. Лутче уже VIM тогда
Если судить по статистике десктопа, то все не-win платформы вообще использовать не стоит. А в реальности, у меня уже была куча случаев, когда нормально работающий код нужно допиливать, чтобы он работал так, как задумывалось, на win. Я бы сказал, что это гораздо больший мазохизм, чем использовать Geany.

Отредактировано vanvanov (Апрель 14, 2019 22:54:19)

Офлайн

#10 Март 18, 2016 18:59:54

Lexanic37
Зарегистрирован: 2016-03-13
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять ошибку

vanvanov
Вы этого хотели?
Спасибо только начинаю работать с GUI. Просто учился по учебнику М.Доусона А там устарелый синтаксис.

Отредактировано Lexanic37 (Март 18, 2016 19:26:01)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version