วันพฤหัสบดีที่ 3 พฤศจิกายน พ.ศ. 2559

Memo กลุ่ม 6 W 12-1


หน้าต่างเริ่มต้นของโปรแกรม Memo



เมื่อกด View จะขึ้นหน้าต่างของผู้ใช้ซึ่งจะปรากฎไฟล์ต่างๆทั้ง text file และ image file


เมื่อกดคำสั่ง New text จะขึ้นหน้าต่างสำหรับผู้ใช้ ให้ตั้งชื่อและเขียนข้อมูล text ลงไปในช่องว่างได้


เมื่อผู้ใช้ทำการกด Save จะมีหน้าต่างป๊อปอัพขึ้นมายืนยันว่าได้ทำการเซฟไฟล์ไปแล้ว (ในที่นี้อาจมีการแก้ไขให้ไม่ต้องมีหน้าต่างป๊อปอัพขึ้นมาในภายหลัง)


เมื่อกลับไปดูที่ View อีกครั้ง จะพบว่า text file ที่เราสร้างขึ้นมาใหม่ (ในที่นี้คือไฟล์ที่ชื่อว่า SaWadDee.txt) ได้ปรากฎเข้ามาในโฟลเดอร์ของ Text file แล้ว


หากทำการกดคำสั่ง Add จะมีป๊อปอัพขึ้นมาถามว่า จะเลือก add ไฟล์ชนิดใด และมีปุ่มกด Cancel เพื่อให้ผู้ใช้งานได้กดยกเลิก หากไม่ต้องการทำสิ่งนี้แล้ว




หากเลือก Text แล้วกดเข้าไปในโฟลเดอร์ต่างๆที่ต้องการ โปรแกรมจะคัดเลือกเพียงไฟล์ .txt ขึ้นมาเท่านั้น เช่นเดียวกันกับหากกดเลือก Picture โปรแกรมจะคัดเลือกเพียงไฟล์ .png ขึ้นมาให้เท่านั้น



หากทำการกดตกลงที่จะ Add ไฟล์ดังกล่าว ไฟล์นั้นจะถูกคัดลอกเข้าไปเก็บไว้ที่โฟลเดอร์ที่เรากำหนดไว้ กล่าวคือ ไฟล์ .txt จะไปเก็บไว้ที่โฟลเดอร์ text ส่วนไฟล์ .png จะถูกเก็บไว้ที่โฟลเดอร์ image


โฟลเดอร์ที่เก็บไฟล์ ที่กล่าวไปข้างต้น




หากอยู่ที่คำสั่งในคำสั่งหนึ่ง แล้วจะเปลี่ยนไปอีกคำสั่งหนึงกระทันหัน โปรแกรมจะสั่งให้กดปิดหน้าต่างคำสั่งนั้นๆไปเสียก่อน หากกดปิดหน้าต่างนั้นๆแล้ว จะมีป๊อปอัพถามผู้ใช้ว่า จะออกจริงหรือ? ดังภาพ


โค้ดใน mybutton.kv โดยใช้คำสั่ง on_release เป็นคำสั่งที่บอกว่า หากกดปุ่มนั้นๆแล้วปล่อย ให้ไปทำคำสั่งไหน


เช่นหากกดปุ่ม Add แล้วปล่อย จะไปทำคำสั่ง popupAdd อย่างที่เห็น ซึ่งภายในคำสั่ง popupAdd ใน mybutton.py นั้น จะเป็นการสร้างป๊อปอัพขึ้นมาให้ผู้ใช้


ซึ่งภายในจะมีคำสั่ง self.add_text.bind(on_release = self.addText) นั้นหมายความว่า หากกดปุ่ม Text แล้วปล่อย จะให้ไปทำคำสั่ง addText
เช่นเดียวกันกับ self.add_pic.bind(on_release = self.addPicture) คือ หากกดปุ่ม Picture แล้วปล่อย จะให้ไปทำคำสั่ง addPicture
และสุดท้าย self.cancel.bind(on_release = self.popup.dismiss) คือหากกดปุ่ม cancel แล้วปล่อย จะทำการปิดป๊อปอัพนั้นลง
ปล. ในคำสั่ง self.popup นั้น จะเห็นว่า auto_dismiss = False เพราะว่า ไม่ต้องการให้เมื่อผู้ใช้กดตำแหน่งใดๆนอกป๊อปอัพ แล้วให้ป๊อปอัพหายไปนั้นเอง


หากกด text แล้ว จะเข้ามาในคำสั่ง addText ซึ่งจะเป็นการสร้างป๊อปอัพให้ผู้ใช้เช่นกัน โดยตรง self.file จะมีคำสั่ง FileChooser ที่มีการกำหนด filters = ['*.txt'] อยู่ ซึ่งหมายความว่า ให้หาไฟล์ที่เป็น .txt โชว์ขึ้นมาเท่านั้น


เช่นเดียวกันคือ หากกดปุ่ม Picture จะเข้ามาในคำสั่ง addPicture ซึ่งจะเป็นการสร้างป๊อปอัพเช่นกัน เพียงแต่ตรง FileChooser นั้น จะกำหนด filters = ['*.png'] คือหาแต่ไฟล์ .png เท่านั้น


โดยทั้งสองปุ่มนั้นจะมีคำสั่งว่าถ้ากดปุ่มตกลงให้ไปทำคำสั่ง add_file หากกดปุ่มยกเลิก ให้ปิดป๊อปอัพนั้นไป

หากกดปุ่มตกลง จะเข้ามาทำในคำสั่ง add_file โดยในคำสั่งนี้จะกำหนดว่า หากเข้ามาทำแล้ว              ให้ปิดป๊อปอัพนั้นไป ซึ่งเงื่อนไขในคำสั่งนี้กล่าวว่า self.file.selection[0][-4:] == '.txt' นั้นหมายถึงหากไฟล์ที่เลือกอยู่นั้น 4 ตัวหลังของไฟล์คือ .txt (เช็คเพียงนามสกุลของไฟล์) จากนั้นจะทำคำสั่ง copyfile(self.file.selection[0], './text/') นั้นหมายถึงว่าให้ก็อปปี้ไฟล์นั้นไปเก็บไว้ที่โฟลเดอร์ text แต่ถ้า 4 ตัวหลังเป็น .png ให้ก็อปปี้ไฟล์นั้นไปเก็บไว้ที่โฟลเดอร์ image นั่นเอง


การ commit ของกลุ่ม 6 ที่ https://bitbucket.org/RIKTI/memo/commits/all




ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Link Video Presentation Resort Managemant System Project.

Video Presentation Resort Managemant System Project. จัดทำโดย พากษ์เสียง: คุณาสิน  ทองมณี  5801012620011 ลำดับภาพ: สุพิชชา  ศรีศิริ...