More Related Content More from Энхтамир Ш (20) Lecture 14 tkinter2. Message Box
• tkMessageBox модулийн тусламжтай
дэлгэцэнд мэдээлэх цонх гаргана.
tkMessageBox модуль нь дараах функцуудыг
агуулна.
• showinfo, showwarning, showerror, askquestion,
askokcancel, askyesno, askretrycancel
Эдгээр функцын бичигдэх хэлбэр бүгд адил:
tkMessageBox.function(Гарчиг,Мессеж
, [, сонголтууд]).
3. Message Box
• Гарчиг нь мэдээлэх цонхны гарчиг
байдалтай харагдана. Мэдээлэх цонхонд
курсор удирдах тэмдэгтүүд ажиллах
боломжтой (“n”).
Сонголтууд
1. icon (тогтмол)
Дэлгэцэнд ямар лого харуулахыг
заана: ERROR, INFO, QUESTION, WARNING
4. Message Box - Сонголтууд
• message (string)
Дэлгэцэнд харагдах мессеж
• parent (виджет)
Мэдээлэх цонхыг аль цонхны голд гаргахыг
заана. Мэдээлэх цонх хаагдахад курсор parent
цонх дээр идэвхижнэ.
• title (string)
Мэдээлэх цонхны гарчиг
5. Message Box - Сонголтууд
• type (тогтмол)
• Мэдээлэх цонхны
төрөл: ABORTRETRYIGNORE, OK, OKCANC
EL,RETRYCANCEL, YESNO, YESNOCANCE
L.
• x=tkMessageBox.askyesno("Title", "Message")
• if x==True:
• print x
6. Tkinter курсор
• Тухайн виджет дээр курсор очих үед курсорын
хэлбэр ямар байхыг заана. Python нь ямар
үйлдлийн систем дээр ажиллаж буйгаас
хамаараад курсорын хэлбэр өөр байж болно.
Дараах курсорын хэлбэрүүд байна.
"arrow","circle", "clock", "cross", "dotbox",
"exchange", "fleur", "heart", "heart", "man",
"mouse", "pirate", "plus", "shuttle", "sizing",
"spider", "spraycan"
"star", "target", "tcross", "trek", "watch"
7. Tkinter курсор
top = Tkinter.Tk()
B1 = Tkinter.Button(top, text ="watch", cursor="watch")
B2 = Tkinter.Button(top, text ="plus", cursor="plus")
B3 = Tkinter.Button(top, text ="man", cursor="man")
B4 = Tkinter.Button(top, text ="mouse", cursor="mouse")
B5 = Tkinter.Button(top, text ="exchange",
cursor="exchange")
B1.pack()
B2.pack()
B3.pack()
B4.pack()
B5.pack()
top.mainloop()
8. Tkinter Message Widget
• Message widget –ийн гүйцэтгэх үүрэг нь Label-
тэй төстэй боловч, дэлгэцэнд олон мөр текст
харуулна. Мөн харуулах мессежийг wrap хийх,
харагдах өргөнийг тааруулах боломжтой.
• Ихэнх тохиолдолд энэ widget нь дэлгэцэнд
богино хэмжээний текстэн мессеж харуулахад
хэрэглэгдэх ба үсгийн фонт нь нэг байна.
• Бичигдэх хэлбэр:
Message(master=None, **options)
9. Tkinter Message Widget
from Tkinter import *
root = Tk()
var = StringVar()
label = Message( root, textvariable=var,
relief=RAISED )
var.set("Text Message n Text Messagen
Text Message")
label.pack()
root.mainloop()
10. Tkinter Message Widget - Сонголтууд
• anchor=N, NE, E, SE, S, SW, W,NW,
CENTER. aspect= харагдах байдлын
хэмжээ, Өндөр/өргөний харьцааг %-р
илэрхийлэх. Default утга нь 150
(aspect/Aspect)
• Background, bg, borderwidth, bd, cursor, font,
foreground, fg, highlightbackground,
highlightcolor, highlightthickness, justify,
padx, pady, relief, takefocus, text,
textvariable, width
11. Tkinter Grid дүрслэл
• Grid геометр дүрслэл нь 2 хэмжээст
хүснэгтийг дүрсэлдэг. master widget нь бусад
widget-үүдийг хүснэгтийн мөр баганад
оруулж байрлуулна.
• Grid дүрслэл нь Tkinter – н хамгийн уян хатан
дүрслэл юм. Tkinter-т 3 дэлгэцийн геометр
дүрслэл байдаг ба хамгийн их хэрэглээтэй нь
grid юм.
– Grid
– Pack
– Place
12. Tkinter Grid дүрслэл
widget.grid( grid_сонголтууд)
• column : Тухайн widget-г аль багананд
байрлуулахыг заана. default утга нь 0.
• columnspan: Тухайн widget нь хэр олон
багананд байрлуулахыг заана. default утга нь 1
• ipadx, ipady : Widget-н хэвтээ болон босоо 2
талаас авах зай, widget-н хүрээнээс гадагш.
• padx, pady : Widget-н хэвтээ болон босоо 2
талаас авах зай, widget-н хүрээнээс дотогш.
• row: Тухайн widget-г аль мөрөнд
байрлуулахыг заана.
13. Tkinter Grid дүрслэл
• rowspan : Тухайн widget нь хэр олон
мөрөнд байрлуулахыг заана. default утга нь
1
• sticky : Хэрэв widget-г байрлуулж буй нүд
нь widget-н хэмжээнээс том бол widget-н
нүдний аль хэсэгт байрлуулахыг заана.
Default утга нь гол(center). Авах утгууд: N,
E, S, W, NE, NW, SE, SW.
14. Жишээ
import Tkinter
root = Tkinter.Tk( )
for r in range(10):
for c in range(10):
Tkinter.Label(root,
text='R%s/C%s' %(r,c),
borderwidth=1, padx=5,
pady=2.5).grid(row=r,column=c)
root.mainloop()
16. Tkinter Grid дүрслэл
import Tkinter
from Tkinter import Label, Entry
master = Tkinter.Tk()
Label(master, text="First", padx=5,
pady=10).grid(row=0)
Label(master, text="Second", padx=5,
pady=10).grid(row=1)
e1 = Entry(master)
e2 = Entry(master)
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
master.mainloop()
17. Жишээ 2:
import Tkinter
from Tkinter import Label, Entry,
Checkbutton, Image, Button
master = Tkinter.Tk()
master.title("Tkinter GRID example")
label1 = Label(master, text="height")
label2 = Label(master, text="width")
entry1 = Entry(master)
entry2 = Entry(master)
checkbutton = Checkbutton(master,
text="Checkbutton")
button1 = Button(master, text="Button1")
18. Жишээ 2:
• button2 = Button(master, text="Button2")
• label1.grid(row=0, column=1)
• label2.grid(row=1, column=1)
• entry1.grid(row=0, column=2)
• entry2.grid(row=1, column=2)
• checkbutton.grid(columnspan=2, row=3)
• image = Button(master, text="BIG
Button", height=3, width=10)
• image.grid(row=0, column=3,
columnspan=2, rowspan=2, padx=5, pady=5)
20. Tkinter Pack дүрслэл
• Pack дүрслэл нь widget-г мөн мөр
багануудад харуулдаг.
• widget.pack( pack_options )
• Сонголтууд: fill, expand, side
• Pack дүрслэл нь хэрэглэхэд эгийн боловч
зарим шаардлагатай дүрслэл хийх
боломжгүй байдаг. Default утга нь top буюу
бүх widget-үүдийг голлуулан, дээрээс доош
дарааллуулна.
21. Tkinter Pack дүрслэл
• expand: Хэрэв true утга оноовол widget нь
агуулагдаж буй цонхны хэмжээнд өргөснө.
fill: Өгөгдсөн утгаар widget – г дүүргэнэ.
Default утга нь NONE, X (хэвтээ дүүргэлт),
Y (босоо дүүргэлт), BOTH (хэвтээ болон
босоо дүүргэлт).
• side: Widget-н байрлалыг заана: TOP
(default), BOTTOM, LEFT, RIGHT.
22. Tkinter Place дүрслэл
• Place дүрслэл нь цонхны хэмжээ болон
байршилыг тодорхой илэрхийлэх
боломжтой. Ө.х цонх болон widget-д
хоорондоо хамааралтай байрлал зааж өгч
болно.
• Бичигдэх хэлбэр:
• widget.place (сонголтууд)
23. Tkinter Place дүрслэл
• anchor : N, E, S, W, NE, NW, SE, SW, Default утга нь NW
• bordermode : Parent –н гадна талд, эсвэл дотор талд
байхыг тодорхойлно. Default утга нь INSIDE. OUTSIDE.
• height, width : Widget-н өндөр өргөнийг пикселээр
толорхойлно.
• relheight, relwidth : 0,0-1,0-ийн хооронд бутархай утга
авна.Рarent widget-н өндөр өргөнөөс хамаарч widget-н
өндөр өргөнийг тодорхойлно.
• relx, rely : Parent цонхноос хэвтээ босоо авах зай. 0.0 - 1.0
гэсэн бутархай утга авна
24. Tkinter Place дүрслэл
import tkMessageBox
import Tkinter
root= Tkinter.Tk()
def msg():
tkMessageBox.showinfo( "Message", "Hello World")
B = Tkinter.Button(root, text ="Hello", command = msg)
B1 = Tkinter.Button(root, text ="Button", command = msg)
B.place(bordermode=OUTSIDE, relheight=0.2, relwidth=0.2)
B1.place(bordermode=INSIDE, relheight=0.2, relwidth=0.2,
relx=0.1, rely=0.2)
root.mainloop()
26. Хувьсагч класс
• Tkinter-н зарим виджетүүд тусгай хувьсагч
ашиглан утгаа шууд өөрчилж болдог. Ө.х ямар
нэг шалтгаанаар виджетийн утга өөрчлөгдөхөд
хувьсагчийн утга дагаад өөрчлөгдөнө.
• Дараах төрлийн хувьсагч байна:
– StringVar() – Тэмдэгт мөр утга агуулна. Анхны утга
""
– IntVar() – Бүхэл тоон утга агуулна. Анхны утга 0
– DoubleVar() – Бутархай тоон утга агуулна. Анхны
утга 0.0
– BooleanVar() - Бүүлэн утга агуулна, Хэрэв 0 утга
буцаавал Худал, 1 бол Үнэн утга буцаана.
27. Жишээ
from Tkinter import *
import tkMessageBox
root = Tk()
var = StringVar()
root.geometry("200x200")
root.title("String Variable")
def msg():
tkMessageBox.showinfo("Info", "Huis = "+var.get())
label = Label(root, text="Huis:", justify = LEFT, padx = 25)
label.pack()
RadioMale = Radiobutton(root, text="Male", padx = 25, variable=var,
value="Eregtei", command=msg)
RadioMale.pack()
RadioFemale = Radiobutton(root, text="Female", padx = 25,
variable=var, value="Emegtei", command=msg)
RadioFemale.pack()
mainloop()