SlideShare a Scribd company logo
1 of 28
Файтон график интерфэйс
Tkinter (үргэлжлэл)
Мандах Бүртгэл ДС-МТТ
Лекц - 14
Message Box
• tkMessageBox модулийн тусламжтай
дэлгэцэнд мэдээлэх цонх гаргана.
tkMessageBox модуль нь дараах функцуудыг
агуулна.
• showinfo, showwarning, showerror, askquestion,
askokcancel, askyesno, askretrycancel
Эдгээр функцын бичигдэх хэлбэр бүгд адил:
tkMessageBox.function(Гарчиг,Мессеж
, [, сонголтууд]).
Message Box
• Гарчиг нь мэдээлэх цонхны гарчиг
байдалтай харагдана. Мэдээлэх цонхонд
курсор удирдах тэмдэгтүүд ажиллах
боломжтой (“n”).
Сонголтууд
1. icon (тогтмол)
Дэлгэцэнд ямар лого харуулахыг
заана: ERROR, INFO, QUESTION, WARNING
Message Box - Сонголтууд
• message (string)
Дэлгэцэнд харагдах мессеж
• parent (виджет)
Мэдээлэх цонхыг аль цонхны голд гаргахыг
заана. Мэдээлэх цонх хаагдахад курсор parent
цонх дээр идэвхижнэ.
• title (string)
Мэдээлэх цонхны гарчиг
Message Box - Сонголтууд
• type (тогтмол)
• Мэдээлэх цонхны
төрөл: ABORTRETRYIGNORE, OK, OKCANC
EL,RETRYCANCEL, YESNO, YESNOCANCE
L.
• x=tkMessageBox.askyesno("Title", "Message")
• if x==True:
• print x
Tkinter курсор
• Тухайн виджет дээр курсор очих үед курсорын
хэлбэр ямар байхыг заана. Python нь ямар
үйлдлийн систем дээр ажиллаж буйгаас
хамаараад курсорын хэлбэр өөр байж болно.
Дараах курсорын хэлбэрүүд байна.
"arrow","circle", "clock", "cross", "dotbox",
"exchange", "fleur", "heart", "heart", "man",
"mouse", "pirate", "plus", "shuttle", "sizing",
"spider", "spraycan"
"star", "target", "tcross", "trek", "watch"
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()
Tkinter Message Widget
• Message widget –ийн гүйцэтгэх үүрэг нь Label-
тэй төстэй боловч, дэлгэцэнд олон мөр текст
харуулна. Мөн харуулах мессежийг wrap хийх,
харагдах өргөнийг тааруулах боломжтой.
• Ихэнх тохиолдолд энэ widget нь дэлгэцэнд
богино хэмжээний текстэн мессеж харуулахад
хэрэглэгдэх ба үсгийн фонт нь нэг байна.
• Бичигдэх хэлбэр:
Message(master=None, **options)
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()
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
Tkinter Grid дүрслэл
• Grid геометр дүрслэл нь 2 хэмжээст
хүснэгтийг дүрсэлдэг. master widget нь бусад
widget-үүдийг хүснэгтийн мөр баганад
оруулж байрлуулна.
• Grid дүрслэл нь Tkinter – н хамгийн уян хатан
дүрслэл юм. Tkinter-т 3 дэлгэцийн геометр
дүрслэл байдаг ба хамгийн их хэрэглээтэй нь
grid юм.
– Grid
– Pack
– Place
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-г аль мөрөнд
байрлуулахыг заана.
Tkinter Grid дүрслэл
• rowspan : Тухайн widget нь хэр олон
мөрөнд байрлуулахыг заана. default утга нь
1
• sticky : Хэрэв widget-г байрлуулж буй нүд
нь widget-н хэмжээнээс том бол widget-н
нүдний аль хэсэгт байрлуулахыг заана.
Default утга нь гол(center). Авах утгууд: N,
E, S, W, NE, NW, SE, SW.
Жишээ
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()
Үр дүн
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()
Жишээ 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")
Жишээ 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)
Жишээ 2:
• button1.grid(row=3, column=2)
• button2.grid(row=3, column=3)
• master.mainloop()
Tkinter Pack дүрслэл
• Pack дүрслэл нь widget-г мөн мөр
багануудад харуулдаг.
• widget.pack( pack_options )
• Сонголтууд: fill, expand, side
• Pack дүрслэл нь хэрэглэхэд эгийн боловч
зарим шаардлагатай дүрслэл хийх
боломжгүй байдаг. Default утга нь top буюу
бүх widget-үүдийг голлуулан, дээрээс доош
дарааллуулна.
Tkinter Pack дүрслэл
• expand: Хэрэв true утга оноовол widget нь
агуулагдаж буй цонхны хэмжээнд өргөснө.
fill: Өгөгдсөн утгаар widget – г дүүргэнэ.
Default утга нь NONE, X (хэвтээ дүүргэлт),
Y (босоо дүүргэлт), BOTH (хэвтээ болон
босоо дүүргэлт).
• side: Widget-н байрлалыг заана: TOP
(default), BOTTOM, LEFT, RIGHT.
Tkinter Place дүрслэл
• Place дүрслэл нь цонхны хэмжээ болон
байршилыг тодорхой илэрхийлэх
боломжтой. Ө.х цонх болон widget-д
хоорондоо хамааралтай байрлал зааж өгч
болно.
• Бичигдэх хэлбэр:
• widget.place (сонголтууд)
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
гэсэн бутархай утга авна
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()
Үр дүн
Хувьсагч класс
• Tkinter-н зарим виджетүүд тусгай хувьсагч
ашиглан утгаа шууд өөрчилж болдог. Ө.х ямар
нэг шалтгаанаар виджетийн утга өөрчлөгдөхөд
хувьсагчийн утга дагаад өөрчлөгдөнө.
• Дараах төрлийн хувьсагч байна:
– StringVar() – Тэмдэгт мөр утга агуулна. Анхны утга
""
– IntVar() – Бүхэл тоон утга агуулна. Анхны утга 0
– DoubleVar() – Бутархай тоон утга агуулна. Анхны
утга 0.0
– BooleanVar() - Бүүлэн утга агуулна, Хэрэв 0 утга
буцаавал Худал, 1 бол Үнэн утга буцаана.
Жишээ
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()
Ашигласан материал
• http://www.tutorialspoint.com/python/pytho
n_gui_programming.htm
• http://effbot.org/tkinterbook/
• https://wiki.python.org/moin/TkInter
• https://docs.python.org/2/library/tk.html
• http://usingpython.com/using-tkinter/
• http://www.python-
course.eu/python_tkinter.php

More Related Content

More from Энхтамир Ш

Lecture 4 - Програм хангамжийн төслийн үнэлгээ
Lecture 4 - Програм хангамжийн төслийн үнэлгээLecture 4 - Програм хангамжийн төслийн үнэлгээ
Lecture 4 - Програм хангамжийн төслийн үнэлгээЭнхтамир Ш
 
Монголын Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...
Монголын  Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...Монголын  Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...
Монголын Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...Энхтамир Ш
 
Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем
Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем
Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем Энхтамир Ш
 
Оюутны хөдөлмөр эрхлэлт
Оюутны хөдөлмөр эрхлэлтОюутны хөдөлмөр эрхлэлт
Оюутны хөдөлмөр эрхлэлтЭнхтамир Ш
 
НББ-ийн сургалтын өнөөгийн байдлын судалгаа
НББ-ийн сургалтын өнөөгийн байдлын судалгааНББ-ийн сургалтын өнөөгийн байдлын судалгаа
НББ-ийн сургалтын өнөөгийн байдлын судалгааЭнхтамир Ш
 
Хувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээ
Хувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээХувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээ
Хувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээЭнхтамир Ш
 
ОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГАА
ОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГААОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГАА
ОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГААЭнхтамир Ш
 
НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ
НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ
НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ Энхтамир Ш
 
Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...
Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...
Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...Энхтамир Ш
 
Англи хэл сурах дэлхий нийтийн чиг хандлага манай оронд нөлөөлж буйг судалс...
Англи хэл сурах дэлхий нийтийн чиг хандлага   манай оронд нөлөөлж буйг судалс...Англи хэл сурах дэлхий нийтийн чиг хандлага   манай оронд нөлөөлж буйг судалс...
Англи хэл сурах дэлхий нийтийн чиг хандлага манай оронд нөлөөлж буйг судалс...Энхтамир Ш
 
Acc2 buyanzaya, nominzul, khaliunaa
Acc2   buyanzaya, nominzul, khaliunaaAcc2   buyanzaya, nominzul, khaliunaa
Acc2 buyanzaya, nominzul, khaliunaaЭнхтамир Ш
 

More from Энхтамир Ш (20)

Lecture 4 - Програм хангамжийн төслийн үнэлгээ
Lecture 4 - Програм хангамжийн төслийн үнэлгээLecture 4 - Програм хангамжийн төслийн үнэлгээ
Lecture 4 - Програм хангамжийн төслийн үнэлгээ
 
Multimedia
MultimediaMultimedia
Multimedia
 
Css animation
Css animationCss animation
Css animation
 
Lecture html head
Lecture   html headLecture   html head
Lecture html head
 
Монголын Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...
Монголын  Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...Монголын  Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...
Монголын Их, дээд сургуулиудын техник технологийн өнөөгийн байдал, хөгжлийн ...
 
Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем
Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем
Старт-ап, жижиг дунд байгууллага, үйлдвэрллийг дэмжих цахим систем
 
Оюутны хөдөлмөр эрхлэлт
Оюутны хөдөлмөр эрхлэлтОюутны хөдөлмөр эрхлэлт
Оюутны хөдөлмөр эрхлэлт
 
НББ-ийн сургалтын өнөөгийн байдлын судалгаа
НББ-ийн сургалтын өнөөгийн байдлын судалгааНББ-ийн сургалтын өнөөгийн байдлын судалгаа
НББ-ийн сургалтын өнөөгийн байдлын судалгаа
 
Хувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээ
Хувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээХувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээ
Хувьцааны өгөөж түүнд нөлөөлж буй хүчин зүйлсийн шинжилгээ
 
ОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГАА
ОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГААОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГАА
ОЮУТНЫ СУРЛАГЫН АМЖИЛТАНД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛСИЙН СУДАЛГАА
 
НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ
НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ
НИЙГМИЙН ХАЛАМЖИЙН САНГИЙН ЗАРЛАГАД НӨЛӨӨЛӨХ ХҮЧИН ЗҮЙЛИЙН ШИНЖИЛГЭЭ
 
Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...
Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...
Өнөөгийн нөхцөлд их дээд сургууль төгсөгчдийн эзлэх байр сууринд нөлөөлөх хүч...
 
Англи хэл сурах дэлхий нийтийн чиг хандлага манай оронд нөлөөлж буйг судалс...
Англи хэл сурах дэлхий нийтийн чиг хандлага   манай оронд нөлөөлж буйг судалс...Англи хэл сурах дэлхий нийтийн чиг хандлага   манай оронд нөлөөлж буйг судалс...
Англи хэл сурах дэлхий нийтийн чиг хандлага манай оронд нөлөөлж буйг судалс...
 
Acc2 buyanzaya, nominzul, khaliunaa
Acc2   buyanzaya, nominzul, khaliunaaAcc2   buyanzaya, nominzul, khaliunaa
Acc2 buyanzaya, nominzul, khaliunaa
 
Turiin sanhuu l12
Turiin sanhuu l12Turiin sanhuu l12
Turiin sanhuu l12
 
Turiin sanhuu l11
Turiin sanhuu l11Turiin sanhuu l11
Turiin sanhuu l11
 
Turiin sanhuu l10
Turiin sanhuu l10Turiin sanhuu l10
Turiin sanhuu l10
 
Turiin sanhuu l9
Turiin sanhuu l9Turiin sanhuu l9
Turiin sanhuu l9
 
Turiin sanhuu l8
Turiin sanhuu l8Turiin sanhuu l8
Turiin sanhuu l8
 
Turiin sanhuu l7
Turiin sanhuu l7Turiin sanhuu l7
Turiin sanhuu l7
 

Lecture 14 tkinter

  • 1. Файтон график интерфэйс Tkinter (үргэлжлэл) Мандах Бүртгэл ДС-МТТ Лекц - 14
  • 2. 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)
  • 19. Жишээ 2: • button1.grid(row=3, column=2) • button2.grid(row=3, column=3) • master.mainloop()
  • 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()
  • 28. Ашигласан материал • http://www.tutorialspoint.com/python/pytho n_gui_programming.htm • http://effbot.org/tkinterbook/ • https://wiki.python.org/moin/TkInter • https://docs.python.org/2/library/tk.html • http://usingpython.com/using-tkinter/ • http://www.python- course.eu/python_tkinter.php