Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2019, 15:17   #1
Andreyzhs
Новичок
Джуниор
 
Регистрация: 30.05.2019
Сообщений: 1
По умолчанию Не открывается окно при нажатии кнопки в tkinter

1.Python 3.7
2. Windows
3. Добрый день! Подскажите, пожалуйста, мне необходимо сделать окно с кнопками, при нажатии на них: графики, окно с информацией.
Проблема с кнопками, в том как указать в них функцию к графику/окну. Не понятно на счет переменных (self, event) и в каком месте писать функции. Сейчас при нажатии ничего не открывается, но и ошибок нет.



Код:
from tkinter import Tk, RIGHT, BOTH, RAISED
from tkinter import Tk, Label, BOTH, Frame, Button, Menu, Canvas, W
from tkinter import ttk
from tkinter.ttk import *

import matplotlib.pyplot as plt
import numpy as np


class Example(Frame):
	def __init__(self, parent):
		Frame.__init__(self, parent)
		self.parent=parent
		self.initUI()
	
	def initUI(self):
		self.parent.title("Buttons")
		self.style=Style()
		self.style.theme_use("default")
		
		frame=Frame(self, relief=RAISED, borderwidth=1)
		frame.pack(fill=BOTH, expand=True)
	#Печать
		self.but=Button()
		self.but["text"]="Печать"
		self.but.bind("<Button-1>",self.printer)
		self.but.pack()
	#Гистограмма
		s=['one','two','three','four','five']
		x=[1,2,3,4,5]
		z1=[50,12,16,27,20]
		fig=plt.figure()
		plt.bar(x,z1)
		plt.title('Simple bar chart')
		plt.grid(True) 
	
		self.but=Button()
		self.but["text"]="Гистограмма"
		self.but.bind("<Button-1>",plt.show)
		self.but.pack()
		
	#Кнопки с функциями
		self.but=Button()
		self.but["text"]="О разработчике"
		self.but.bind("<Button-2>", self.razr)
		self.but.pack()
		
		
		self.but=Button()
		self.but["text"]="Гист 2"
		self.but.bind("<Button-3>", self.A)
		self.but.pack()
		
	#Меню - выход	
		menubar=Menu(self.parent)
		self.parent.config(menu=menubar)
		
		fileMenu=Menu(menubar)
		fileMenu.add_command(label="Exit",command=self.onExit)
		menubar.add_cascade(label="File",menu=fileMenu)
		
	def onExit(self):
		self.quit()
		
	def printer(self, event):
		print("Как всегда 'Hello'")
	
	def razr(self, event):
		root=Tk()
		root.title("О разработчике")
		root.geometry('350x100')
		lb2 = Label(root, text="Разработчик: Андрей.", font=("Arial Bold", 18))
		lb2.grid(column=0, row=0)	
	
	def A(self, event):	
		objects = ('СУЭК', 'Кузбассразресуголь', 'Южный Кузбасс', 'Распадская')
		y_pos = np.arange(len(objects))
		performance = [74.5,18.1,15.6,10.6]
		plt.bar(y_pos, performance, align='center', alpha=0.5)
		plt.xticks(y_pos, objects)
		plt.ylabel('компании')
		plt.title('Крупнейшие уголедобывающие компании России')
		plt.show()
	

		
def main():
	root=Tk()
	root.geometry("300x200+300+300")
	app=Example(root)
	root.mainloop()

if __name__=='__main__':
	main()
Andreyzhs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Потоки блокируют окно tkinter и matplotlib WiCat Python 0 10.06.2018 12:12
Не открывается окно приложения! progster Win Api 3 26.12.2017 15:31
Как сделать при нажатии кнопки новое окно quarty Общие вопросы Delphi 9 01.11.2010 14:06
При нажатии по ячейки открывается форма SkrudjMakdak Microsoft Office Excel 6 28.08.2010 11:30
Запустить окно закачки файла при нажатии кнопки iankov JavaScript, Ajax 3 11.01.2009 13:14