Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 11.10.2011
Сообщений: 83
1

Помогите доделать GUI

20.11.2011, 19:08. Показов 1454. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот моя программка
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from tkinter import*
c = Canvas(width=460,height=100,bg='grey80')
c.pack()
def oval_func(event):
     c.delete(oval)
     c.create_oval(30,10,100,80,fill="orange",anchor="w")
    
but=Button(c)
but["text"] ="Taster"
but.bind("<Button-1>")
but.pack()
c = Canvas(width=460,height=100,bg='grey80')
c.pack()
oval = c.create_oval(30,10,100,80,fill="black")
 
c.bind(oval,'<Button-1>',oval_func)
 
 
mainloop()
Как дальше сделать так чтобы при нажатии taster круг стал желтым, а как только отпустили , опять черный, корече симуляция лампочки с выключателем. И еще вопрос, как перенести круг вправо, а тастер влево??Спасибо заранее.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2011, 19:08
Ответы с готовыми решениями:

Помогите доделать.
var i,kol:byte; x:string; f:text; begin Assign(f,'C:\FPC\2.2.2\f.txt');...

помогите доделать!
Создать базу из неких предметов и цену(например:Ручка 2 рубля) в ListBox и второй ListBox выводим...

помогите доделать....
под это условие нужно доделать программный код..... Перегрузите операцию &gt;&gt; для класса «адресная...

Помогите доделать задачку.
Используйте линейные списки для хранения последовательности чисел. Опишите процедуру, которая...

3
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
20.11.2011, 23:11 2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python3
 
import tkinter
from tkinter.constants import *
 
def oval_func(event):
    c.create_oval(200, 10, 270, 80, fill='green')
 
def func(event, color):
    c.create_oval(200, 10, 270, 80, fill=color)
 
if __name__ == '__main__':
    
    w = tkinter.Frame()
    w.master.title('Test')
    w.master.geometry('+400+450')
    w.pack()
        
    but = tkinter.Button(w)
    but.pack(side=LEFT)
    but['text'] = 'Taster'
    but.bind("<ButtonPress-1>", lambda e: func(e, 'yellow'))
    but.bind("<ButtonRelease-1>", lambda e: func(e, 'black'))
    
    c = tkinter.Canvas(w, width=460, height=100, bg='grey80')
    c.pack(side=RIGHT)
 
    oval = c.create_oval(200, 10, 270, 80, fill='black')
    c.bind('<Button-1>', oval_func)
    
    tkinter.mainloop()
1
1 / 1 / 0
Регистрация: 11.10.2011
Сообщений: 83
21.11.2011, 00:06  [ТС] 3
Спасибо уже тоже сделала вот мой вариант:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from tkinter import *
 
def oval_func(event):
     cv.create_oval(30,10,100,80,fill='orange')
 
def oval_func2(event):
     cv.create_oval(30,10,100,80,fill='black')
 
cv = Canvas(width=150,height=100)
cv.create_oval(30,10,100,80,fill='black')
cv.pack(side=RIGHT)
 
but=Button()
but['text'] ='Taster'
but.pack(side=RIGHT)
 
but.bind('<ButtonPress-1>',oval_func)
but.bind('<ButtonRelease-1>',oval_func2)
 
mainloop()
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.11.2011, 00:51 4
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python3
 
import tkinter
from tkinter.constants import *
 
def oval_func(event):
    c.itemconfig(CURRENT, fill='green')
 
def func(event, color):
    c.create_oval(200, 10, 270, 80, fill=color)
 
if __name__ == '__main__':
    
    w = tkinter.Frame()
    w.master.title('Test')
    w.master.geometry('+400+450')
    w.pack()
        
    but = tkinter.Button(w)
    but.pack(side=LEFT)
    but['text'] = 'Taster'
    but.bind("<ButtonPress-1>", lambda e: func(e, 'yellow'))
    but.bind("<ButtonRelease-1>", lambda e: func(e, 'black'))
    
    c = tkinter.Canvas(w, width=460, height=100, bg='grey80')
    c.pack(side=RIGHT)
 
    c.create_oval(200, 10, 270, 80, fill='black')
    c.bind('<Button-1>', oval_func)
    
    tkinter.mainloop()
эта делает зелёным круг, когда на него нажимаешь

/usr/lib/python3.1/Demo/tkinter/matt/canvas-moving-w-mouse.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from tkinter import *
 
# this file demonstrates the movement of a single canvas item under mouse control
 
class Test(Frame):
    ###################################################################
    ###### Event callbacks for THE CANVAS (not the stuff drawn on it)
    ###################################################################
    def mouseDown(self, event):
        # remember where the mouse went down
        self.lastx = event.x
        self.lasty = event.y
 
    def mouseMove(self, event):
        # whatever the mouse is over gets tagged as CURRENT for free by tk.
        self.draw.move(CURRENT, event.x - self.lastx, event.y - self.lasty)
        self.lastx = event.x
        self.lasty = event.y
 
    ###################################################################
    ###### Event callbacks for canvas ITEMS (stuff drawn on the canvas)
    ###################################################################
    def mouseEnter(self, event):
        # the CURRENT tag is applied to the object the cursor is over.
        # this happens automatically.
        self.draw.itemconfig(CURRENT, fill="red")
 
    def mouseLeave(self, event):
        # the CURRENT tag is applied to the object the cursor is over.
        # this happens automatically.
        self.draw.itemconfig(CURRENT, fill="blue")
 
    def createWidgets(self):
        self.QUIT = Button(self, text='QUIT', foreground='red',
                           command=self.quit)
        self.QUIT.pack(side=LEFT, fill=BOTH)
        self.draw = Canvas(self, width="5i", height="5i")
        self.draw.pack(side=LEFT)
 
        fred = self.draw.create_oval(0, 0, 20, 20,
                                     fill="green", tags="selected")
 
        self.draw.tag_bind(fred, "<Any-Enter>", self.mouseEnter)
        self.draw.tag_bind(fred, "<Any-Leave>", self.mouseLeave)
 
        Widget.bind(self.draw, "<1>", self.mouseDown)
        Widget.bind(self.draw, "<B1-Motion>", self.mouseMove)
 
    def __init__(self, master=None):
        Frame.__init__(self, master)
        Pack.config(self)
        self.createWidgets()
 
test = Test()
test.mainloop()

здесь инфа, как делать приложение
1
21.11.2011, 00:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2011, 00:51
Помогаю со студенческими работами здесь

помогите доделать скрипт
#!/usr/sh date=`date +&quot;%Y-%m-%d&quot;`; date=&quot;date $date&quot;; sqldate=`echo &quot;select date from...

VB в Excel. помогите доделать
как сделать так чтобы числа вводились в ячейках Excel? Private Sub Command1_Click() Dim a As...

Помогите доделать PacMan!
В универе задали сделать Пакмена. С одной темы на этом форуме взял код и переписал на свой лад...

Помогите доделать скрипт.
Приветствую всех, кто решил сюда заглянуть! У меня проблема, нужен совет программистов! Сделала...

Помогите доделать биллинг
Человеку предоставляется услуга. В месяц она стоит 100 рублей. Человек на протяжении 3-х месяцев...

помогите доделать прогу...
она не сохраняет название файла и вместо него выдает StringGrid1...вот само условие: Создать...

Помогите доделать прогу(
uses crt; const m=10; n=10; var b:string;a:arrayof longint;g:boolean; i,j,k,l,m,n,p:longint;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru