A GUI for DFT and Orthogonal DWT in Tkinter
|
|
- Coral Higgins
- 5 years ago
- Views:
Transcription
1 A GUI for DFT and Orthogonal DWT in Tkinter Tariq Javid Ali, Pervez Akhtar, Muhammad Faris Hamdard Institute of Engineering & Technology Hamdard University Karachi-74600, Pakistan {tariq.javid pervez.akhtar Idris Mala Computer Science Department Usman Institute of Technology Karachi-75300, Pakistan Syed Saood Zia Computer Engineering Department SSUET Karachi-75300, Pakistan Abstract Both discrete Fourier transform and discrete wavelet transform are invaluable signal processing tools with applications in numerous disciplines. This paper presents a convenient way to learn these useful transformations with the help of an innovative graphical user interface. We use the standard Python interface Tkinter and describe creation of our user interface in an easy to follow steps. The designed interface has two categories, one for the basic concepts and another for the transforms. Our developed user interface provides coverage for basic topics by the use of flowcharts, program codes, and outputs. The transforms category has coverage for introductions, example functions, program codes, and outputs. Both categories are organized as buttons inside the primary interface window. A secondary interface window opens up whenever a user clicks at any of the buttons in the primary interface window. There are eight secondary windows including one for the about button. The work in this paper hopes that similar user-friendly interfaces can be developed to better learn the fundamental first principles in science, technology, engineering, and mathematics disciplines. Index Terms DFT; Graphical user interface; Orthogonal DWT; Python; Tkinter I. INTRODUCTION A well-designed and user-friendly graphical user interface (GUI) is very helpful for human computer interaction (HCI). In this paper, we design and develop a GUI in Tkinter for an earlier implementation of discrete Fourier transform (DFT) and orthogonal discrete wavelet transform (DWT) in Python computer programming language in [1]. The tool command language (Tcl), pronounced as tickle, is a scripting language developed by John K. Ousterhout in He later developed a toolkit (Tk) graphical user interface as an extension to Tcl in 1991; together commonly abbreviated as Tcl/Tk a robust and platform independent windowing toolkit. The Python has Tkinter module which is built on top of Tcl/Tk as a thin objectoriented software layer [2]. The DFT is a basic, standard signal processing tool which is in use since late 1950s [3]. The DWT is an advanced signal processing tool introduced in 1980s [4]. An example is the famous JPEG 2000 image coding standard which is based on state-of-the-art wavelet-based compression techniques. Applications of this standard include digital cinema, broadcast market, image archives and databases, document imaging, medical imaging, wireless imaging, remote sensing and geographic information systems, digital photography, Internet, scientific and industrial, and surveillance [5]. Both transformations are important part of curriculum in science, technology, engineer- Fig. 1. GUI primary interface window (top) with both basic and transform categories are highlighted. The basic category appears on left column whereas the transform category has four buttons with positions inside middle-top and middle-right. Secondary window interface (botton) appears when a user press highlighted top-left button. ing, and mathematics (STEM) disciplines. Learners often use software and mathematical tools to develop a better and deeper understanding. The design of GUI includes a primary user interface window with one label and nine buttons, See Fig. 1. A secondary interface window opens when a user presses a button. The buttons on primary window interface are organized in two categories: basic and transform. The basic category has buttons for preliminary concepts whereas transform category has buttons for forward and inverse transformations. There are About and Quit buttons on primary user interface for GUI information and window exit, respectively. All secondary window interfaces have an Exit button. The outline of this paper is as follows. Section II is a brief introduction of Tkinter with related examples. The GUI design and step-by-step development are described in Section III. The Section IV presents a brief discussion on benefits, limitations, and challenges. The paper concludes in Section V.
2 II. A BRIEF REVIEW OF TKINTER This section is an excerpt from the useful resource [6]. The Tcl is a popular scripting language in the domains of GUI development, embedded applications, and prototyping, and testing. The Tk is an open source widget toolkit used by different computer programming languages including Python for building GUIs. The Tkinter interface is a wrapper around a C-extension a thin object-oriented software layer that uses the Tcl/Tk libraries. It is suitable to develop GUIs for small applications to multidisciplinary scientific simulations and research endeavors. The motivation to use Tkinter is due its attractive features. These features include easy learning and small code to develop a powerful GUI application. Other features include layered design, operating system portability, and pre-installed with standard Python distribution. Making GUI requires work like an artist who needs a drawing board to capture ideas. The drawing board is provided by the root window in Tkinter. The following code lines draw the root window. >>> from Tkinter import * >>> root = Tk() >>> Fig. 2 shows the execution of code in a command window with the resulting GUI. In the above three lines code, the first line imports Tkinter classes, attributes, and methods. The second line creates an instance of Tkinter.Tk class, called the root window. The third line executes the event loop method. These three lines make the skeleton of any Tkinter GUI application. Generally, a GUI programmer has to answer the following questions for building a GUI application. What components should appear on screen? Where should the components go? How do components interact and behave? In Tkinter, the components are called widgets. Geometry management refers to decide positions of widgets on the root window. Each widget does some work, for example, a button widget when pressed, does something in response. This is accomplished by using callback functions. The core widgets in Tkinter are listed in Tab. I. We use Button, Frame, and Label widgets in our GUI application. An example to add a label and a button to the root window is as follows. from Tkinter import * root=tk() label1=label(root,text= label ) button1=button(root,text= button ) button1.pack() The above code adds new instances, label1 and button1, for Label and Button widgets, respectively. The first parameter for both instances is root which defines root window as the parent. The second parameters configure text for respective instances. Fig. 3 (left top) shows the resulting GUI with both widgets. The pack() method is required to position widgets within the root window. Now a good program code development practice is to avoid use of import all methods of a module as in from Tkinter Fig. 2. Execution of code to determine Tkinter version and skeleton code with resulting GUI. Fig. 3. Resulting GUIs. import *. We can use to avoid polluting the namespace with a list of all methods in Tkinter. Further we can use grid() instead of pack() method for a table-like layout. The above program code is revised as follows, See Fig. 3 (left bottom) for resulting GUI label1 =tk.label(root,text= click ).grid(row=0,column=0) button1=tk.button(root,text= me ).grid(row=0,column=1) Each widget has attributes to configure its behavior and appearance. Example attributes for a Button widget include width, height, foreground and background colors, font size, TABLE I TKINTER CORE WIDGETS. Toplevel Label Button Canvas Checkbutton Entry Frame LabelFrame Listbox Menu Menubutton Message OptionMenu PanedWindow Radiobutton Scale Scrollbar Spinbox Text Bitmap Class Image Class
3 etc. These attributes can be configured at the creation time or altered later. The following example code for a Label widget demonstrates interesting changes in the default appearance, See Fig. 3 (middle column and left) for the resulting GUIs. label1=tk.label(root) label1.configure(text= I am a label. ) label1.configure(bg= white,fg= red ) rpi = tk.photoimage(file= rpi.gif ) label1.configure(image=rpi) A callback is associated with a widget which enables it to response to events, for example, a button press, mouse click, etc. A simple way is to mention a command = some callback in the widget option. An example is given in the following code. The resulting GUI has a button press event for exit. button1=tk.button(root) button1.configure(text= Exit ) button1.configure(command=root.quit) button1.pack() Fig. 4. An example GUI. We have used procedural code in building above GUIs. Programmers prefer object oriented programming (OOP) for a clear modular structure and to make code reusable. The revised code with few more widget options is shown below. class rootwindow: def init (self,master): self.master=master self.master.title( GUI Title ) self.frame1=tk.frame(self.master) self.frame1.pack() label1 = tk.label(self.frame1,text= I am a label. ) label1.configure(font = Times 20 bold ) self.frame2 = tk.frame(self.master) self.frame2.pack() self.button1 = tk.button(self.frame2) self.button1.pack() self.button1.configure(text= Exit ) self.button1.configure(bg= white,fg= red ) self.button1.configure(width= 36,height= 12 ) self.button1.configure(command=self.master.quit) def main(): # Fix GUI size root.resizable(width=0,height=0) app = rootwindow(root) if name == main : main() Fig. 4 shows the resulting GUI. Note, the code set GUI primary window user interface size as a fixed value. We develop our GUI application using a similar code. A. Design III. GUI DESIGN AND DEVELOPMENT We keep our GUI design very simple. It has a root or primary window interface and many secondary interfaces. We make exclusive use of graphic files to display corresponding information. The widgets selected for our design are Button, Frame, and Label. Fig. 5 shows the overall design of our GUI. The primary window interface has 9 Button widgets and 1 Fig. 5. GUI design: (top) primary or root window and (bottom) a secondary window interface. Label widget organized on 2 separate Frame widgets. A button press event executes a callback with a secondary windows interface as response.
4 The buttons on primary interface are organized in two categories. One category is for basic concepts which contains 3 buttons for inner product, convolution, and circular convolution; and another category is for transforms which contains 4 buttons for DFT, inverse DFT (IDFT), DWT, and inverse DWT (IDWT). Additionally, there are 2 more buttons for GUI information and exit. The buttons on secondary interface are used to update image option of Label widget. The secondary interfaces for basic category have 4 buttons each. A secondary window has default image for the first button. On secondary window user interface, buttons 1 3 are used to update information, i.e., image option for the Label widget. The fourth button which is not shown in Fig. 5 is for exit. These buttons are organized in a way to show information as follows. Button 1: formula and flowchart Button 2: program code Button 3: output Button 4: exit In a similar pattern, the secondary window interfaces are designed for transform category, each with an additional button. These buttons are organized on the interface to show the information as follows. Button 1: formula Button 2: example Button 3: program code Button 4: output Button 5: exit B. Development The development of GUI requires a small yet fast and lightweight integrated development environment (IDE). Geany [7], [8] is selected after a thoughtful (re)search on Google. The information screen shots are created in graphics interchange format (GIF) for primary and secondary interfaces. The size of images in a selected window, either primary or secondary, is same. However, this is not true for all the images used in GUI development. The GUI code begins with the following import statements and ends with a call to main() method. import Image, ImageTk from tkmessagebox import showinfo class mainwin: #... code here... def main(): # Fix GUI size root.resizable(width=0,height=0) app = mainwin(root) if name == main : main() The developed code for class mainwin is given below. Note, few changes have been made to meet the formatting requirements. infoabout = lambda: showinfo( \ DFT and Orthogonal DWT in Python, \ A GUI for DFT and Orthogonal DWT in Tkinter\nBy... ) class mainwin: def init (self, master): self.master = master self.master.title( DFT and DWT in Python ) self.frame1 = tk.frame(self.master) self.frame1.pack() label1 = tk.label(self.frame1,text= DFT and DWT ) label1.configure(font= Times 20 bold ) self.frame2 = tk.frame(self.master) self.frame2.pack() self.photo1 = tk.photoimage(file = photoinp.gif ) self.photo2 = tk.photoimage(file = photocnv.gif ) self.photo3 = tk.photoimage(file = photocir.gif ) self.photo4 = tk.photoimage(file = photodft.gif ) self.photo5 = tk.photoimage(file = photoidft.gif ) self.photo6 = tk.photoimage(file = photodwt.gif ) self.photo7 = tk.photoimage(file = photoidwt.gif ) self.photo8 = tk.photoimage(file = photoabout.gif ) self.photo9 = tk.photoimage(file = photoquit.gif ) self.button1 = tk.button(self.frame2,image=self.photo1,\ command=self.new_window1).grid(row=0,column=0) self.button2 = tk.button(self.frame2,image=self.photo2,\ command=self.new_window2).grid(row=1,column=0) self.button3 = tk.button(self.frame2,image=self.photo3,\ command=self.new_window3).grid(row=2,column=0) self.button4 = tk.button(self.frame2,image=self.photo4,\ command=self.new_window4).grid(row=0,column=1) self.button5 = tk.button(self.frame2,image=self.photo5,\ command=self.new_window5).grid(row=1,column=1) self.button6 = tk.button(self.frame2,image=self.photo6,\ command=self.new_window6).grid(row=0,column=2) self.button7 = tk.button(self.frame2,image=self.photo7,\ command=self.new_window7).grid(row=1,column=2) self.button8 = tk.button(self.frame2,image=self.photo8,\ command=infoabout).grid(row=2,column=1) self.button9 = tk.button(self.frame2,image=self.photo9,\ command=self.close_windows).grid(row=2,column=2) def close_windows(self): self.master.destroy() def new_window1(self): self.app = inpwin(self.newwindow) def new_window2(self): self.app = cnvwin(self.newwindow) def new_window3(self): self.app = cirwin(self.newwindow) def new_window4(self): self.app = dftwin(self.newwindow) def new_window5(self): self.app = idftwin(self.newwindow) def new_window6(self): self.app = dwtwin(self.newwindow) def new_window7(self): self.app = idwtwin(self.newwindow) A description of above code is as follows. The code begins with information message which is configured as callback function to button press event for About button. The default title of GUI window is modified with self.master.title. The Frame widget is added with self.frame1 = tk.frame(self.master). Definitions and instantiations of Button and Label widgets have reference to containers self.frame2 and self.frame1, respectively. The rest of the code in mainwin class is based on example codes presented earlier in Section II. There are eight functions defined at the end which are associated as callbacks to respective buttons. There are two additional buttons, one for information and another for exit. The Button widget for information has an image with text About. Whereas, the Button widget for exit has an image with text Quit. Fig. 6 shows the primary window of our GUI application.
5 Fig. 6. GUI primary interface window. The code for class cnvwin is given below. This code generates a secondary window interface when a user presses the Convolution button. Note, few changes have been made in the code here as well to meet the formatting requirements. class cnvwin: def init (self, master): self.master = master self.master.title( Convolution ) self.frame = tk.frame(self.master) self.frame.pack() self.photo1 = ImageTk.PhotoImage(file = flowcnv.gif ) self.label1 = tk.label(self.frame, image = self.photo1) self. self.button1 = tk.button(self.frame,text= 1,\ command=self.flow_cnv) self.button1.pack(side = left ) self.button2 = tk.button(self.frame,text= 2,\ command=self.code_cnv) self.button2.pack(side = left ) self.button3 = tk.button(self.frame,text= 3,\ command=self.out_cnv) self.button3.pack(side = left ) self.quitbutton = tk.button(self.frame,text= Exit,\ bg= white,fg= red,command=self.close_windows) self.quitbutton.pack(side = left ) def close_windows(self): self.master.destroy() def flow_cnv(self): self.photo1=imagetk.photoimage(file= flowcnv.gif ) self.label1.configure(image=self.photo1) def code_cnv(self): self.photo1=imagetk.photoimage(file= codecnv.gif ) self.label1.configure(image = self.photo1) def out_cnv(self): self.photo1=imagetk.photoimage(file= outcnv.gif ) self.label1.configure(image = self.photo1) Fig. 7 shows the secondary window interface launched when a user pressed Convolution button on primary window interface. This GUI has four buttons for respective information images which are configured as image option of a label. The Exit button closes the secondary GUI. Fig. 7. GUI secondary interface window. IV. DISCUSSION A considerable effort was made to select suitable Tkinter widgets and to decide their positions on primary and secondary interfaces. The default top down appearance of widgets was altered with the help of grid() geometry manager. The GUI application code is less than 300 lines, however, there are 9 images for the primary window and 25 images for secondary windows. A significant amount of time was consumed to standardize these images at user interface level. However,
6 image sizes vary for different secondary windows. The benefits of our developed GUI are as follows. Simple design Easy to code Minimal code Two levels: primary and secondary Beginner s approach Use of OOP Our developed GUI has certain limitations. These include static layout and contents, exclusive use of images, lack of help, and use of few examples. As stated in Section I, the developed GUI is based on an earlier work [1]; therefore, many images are included in this version of GUI with little or no modifications. We have fixed primary window user interface size to prevent a GUI resize. Fig. 8 shows few selected images which are part of our GUI. The program code development phase was easy in the beginning, however, few complexities were encountered until an acceptable version of GUI application was developed. These include transition from procedural code to modular code OOP, use of images due allowed picture formats, and a number of common coding problems. The resource [6] was quite helpful for transition to OOP. A number of web resources were quite helpful when working with images and common coding problems [9] [13]. However, very few helpful resources were available for working with Tkinter. V. CONCLUSION In this paper, we have designed and developed a simple yet powerful GUI in a step-by-step manner. Tkinter, a wrapper to Tcl/Tk libraries in Python computer programming language, was used to code an innovative and useful window user interface to learn DFT and orthogonal DWT famous signal processing tools. The design and development phases of GUI were explained with the help of drawings and program code blocks. The primary GUI interface was designed in basic and transform categories. Appropriate images were used on interface windows to help better learning. The GUI application development process was very general with potential use in other disciplines. The required code was provided in the paper to enhance and to modify the GUI to best suit for a particular area. Future work is to overcome limitations outlined in Section IV without a compromise on benefits. ACKNOWLEDGMENT The first author would like to acknowledge the inspirational work of Chris Meyers of Open Book Project with title, Building a GUI Application with Tkinter [14]. REFERENCES [1] TJ. Ali, P. Akhtar, M. Faris, I. Mala, and SS. Zia, Implementation of discrete Fourier transform and orthogonal discrete wavelet transform in Python, in SZABIST Multidisciplinary International Conference (SMIC 2016), Dubai, 09 January [2] The Python Standard Library. Graphical user interfaces with Tk. Last accessed on 10 January [Online]. Available: https: //docs.python.org/2/library/tkinter.html Fig. 8. Few selected images used in building GUI. The information message on top is a callback for the About button on the primary GUI. Both middle and bottom images are from [1]. [3] R. C. Gonzalez and R. E. Woods, Digital Image Processing, 3rd ed. PHI Learning Pvt. Ltd., [4] S. Mallat, A Wavelet Tour of Signal Processing: The Sparse Way. Academic Press, [5] Joint Photographic Experts Group (JPEG). Applications for JPEG Last accessed on 10 January [Online]. Available: [6] B. Chaudhary, Tkinter GUI Application Development HOTSHOT. Packt Publishing Ltd., [7] Geany A fast, light, GTK+ IDE. Last accessed on 10 January [Online]. Available: [8] N. H. Quan, Instant Geany IDE. Packt Publishing Ltd., [9] Tkinter example code for multiple windows, why won t buttons load correctly? Last accessed on 10 January [Online]. Available: [10] Setting the window to a fixed size with Tkinter. Last accessed on 10 January [Online]. Available: [11] The Tkinter PhotoImage class. Last accessed on 10 January [Online]. Available: [12] Tkinter. Last accessed on 10 January [Online]. Available: labels.php [13] Tkinter image problem. Last accessed on 10 January [Online]. Available: software-development/threads/72276/tkinter-image-problem [14] Building a GUI application with Tkinter. Last accessed on 11 January [Online]. Available: tkphone.html
Programming Training. This Week: Tkinter for GUI Interfaces. Some examples
Programming Training This Week: Tkinter for GUI Interfaces Some examples Tkinter Overview Set of widgets designed by John K. Ousterhout, 1987 Tkinter == Tool Kit Interface Mean to be driven by Tcl (Toolkit
More informationIdris Mala. Qualification. Area of Specialization. Contact Information: Ext.: 3035
Idris Mala Contact Information: Email: imala@uit.edu Ext.: 3035 Qualification ME (Telecom) UIT HU 2006 MS (Info. Tech.) Hamdard University 2002 BE (Electrical) NEDUET 1984 Area of Specialization Database
More informationTeaching London Computing
Teaching London Computing A Level Computer Science Programming GUI in Python William Marsh School of Electronic Engineering and Computer Science Queen Mary University of London How the Session Works Outline
More informationGetting Started p. 1 Obtaining Tcl/Tk p. 1 Interactive Execution p. 1 Direct Execution p. 4 Reading this Book p. 6 Requirements for Networking
Foreword p. xi Acknowledgments p. xiii Getting Started p. 1 Obtaining Tcl/Tk p. 1 Interactive Execution p. 1 Direct Execution p. 4 Reading this Book p. 6 Requirements for Networking Examples p. 7 Requirements
More informationInteractive Python Widget for Correcting WRF-Hydro Input Grids
Interactive Python Widget for Correcting WRF-Hydro Input Grids Nicholas Elmer 1,2 and Andrew Molthan 1,3 1 NASA Short-term Prediction Research and Transition (SPoRT) Center, Huntsville, Ala. 2 Department
More informationTkinter Part II: Buttons, Lambda & Dynamic Content
Tkinter Part II: Buttons, Lambda & Dynamic Content July 8, 2015 Brian A. Malloy Slide 1 of 11 1. We further investigate Labels and Buttons and hook Python actions to these widgets. We present lambda functions,
More informationChapter 9 GUI Programming Using Tkinter. Copyright 2012 by Pearson Education, Inc. All Rights Reserved.
Chapter 9 GUI Programming Using Tkinter 1 Motivations Tkinter is not only a useful tool for developing GUI projects, but also a valuable pedagogical tool for learning object-oriented programming. 2 Objectives
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1
More informationCIS192 Python Programming
CIS192 Python Programming Graphical User Interfaces Robert Rand University of Pennsylvania November 19, 2015 Robert Rand (University of Pennsylvania) CIS 192 November 19, 2015 1 / 20 Outline 1 Graphical
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting
More informationModern Tkinter For Busy Python Developers: Quickly Learn To Create Great Looking User Interfaces For Windows, Mac And Linux Using Python's Standard
Modern Tkinter For Busy Python Developers: Quickly Learn To Create Great Looking User Interfaces For Windows, Mac And Linux Using Python's Standard GUI Toolkit Ebook This book will quickly get you up to
More informationIntroduction to Programming Using Python Lecture 6. Dr. Zhang COSC 1437 Spring, 2018 March 01, 2018
Introduction to Programming Using Python Lecture 6 Dr. Zhang COSC 1437 Spring, 2018 March 01, 2018 Chapter 9 GUI Programming Using Tkinter Getting started with Tkinter with a simple example. Code example:
More informationSTD 7 th Paper 1 FA 4
STD 7 th Paper 1 FA 4 Choose the correct option from the following 1 HTML is a. A Data base B Word Processor C Language D None 2 is a popular text editor in MS window A Notepad B MS Excel C MS Outlook
More informationCIS192 Python Programming
CIS192 Python Programming User Interfaces (Graphical and Text) Eric Kutschera University of Pennsylvania March 20, 2015 Eric Kutschera (University of Pennsylvania) CIS 192 March 20, 2015 1 / 23 Final Project
More informationCAS London CPD Day February 16
Practical Sheet: GUI Programming This sheet is a set of exercises for introducing GUI programming in Python using Tkinter, assuming knowledge of basic Python programming. All materials are at http://www.eecs.qmul.ac.uk/~william/cas-london-2016.html
More informationMid Unit Review. Of the four learning outcomes for this unit, we have covered the first two. 1.1 LO1 2.1 LO2 LO2
Lecture 8 Mid Unit Review Of the four learning outcomes for this unit, we have covered the first two. LO Learning outcome (LO) AC Assessment criteria for pass The learner can: LO1 Understand the principles
More informationPTN-202: Advanced Python Programming Course Description. Course Outline
PTN-202: Advanced Python Programming Course Description This 4-day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.
More informationClipArt and Image Files
ClipArt and Image Files Chapter 4 Adding pictures and graphics to our document not only breaks the monotony of text it can help convey the message quickly. Objectives In this section you will learn how
More informationLecture 3 - Overview. More about functions Operators Very briefly about naming conventions Graphical user interfaces (GUIs)
Lecture 3 - Overview More about functions Operators Very briefly about naming conventions Graphical user interfaces (GUIs) Function parameters Passed by reference, but the standard implication that the
More informationLevel 3 Computing Year 2 Lecturer: Phil Smith
Level 3 Computing Year 2 Lecturer: Phil Smith We looked at: Debugging Previously BTEC Level 3 Year 2 Unit 16 Procedural programming Now Now we will look at: GUI applications. BTEC Level 3 Year 2 Unit 16
More informationObjectives This tutorial demonstrates how to use feature objects points, arcs and polygons to make grid independent conceptual models.
v. 9.0 GMS 9.0 Tutorial Use points, arcs and polygons to make grid independent conceptual models Objectives This tutorial demonstrates how to use feature objects points, arcs and polygons to make grid
More informationVisual Ada Developer
Visual Ada Developer Leonid Dulman DES Inc 38361, Six Days War 17a/18, Hadera, Israel Email: dulman@attglobal.net Phone: 972-6-6344970 Abstract: Programming language popularity depends not only on its
More informationThis course is designed for anyone who needs to learn how to write programs in Python.
Python Programming COURSE OVERVIEW: This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non-trivial Python programs dealing with
More informationThis text is used together with Mark Pilgrims book Dive Into Python 3 for the Arthead course Python Fundamentals.
2 About this text This text is used together with Mark Pilgrims book Dive Into Python 3 for the Arthead course Python Fundamentals. The first part is written for Python 2 and at the end there is a section
More informationMS Word 2007: Graphics. Lesson Notes Author: Pamela Schmidt. The Drawing Tools Format Ribbon appears when the object is selected.
AutoShapes MS Word 2007: Graphics Lesson Notes Author: Pamela Schmidt To insert a shape, on the Insert Ribbon choose the Shapes control. When a shape tool is selected, a cross hair will appear when the
More informationOutline. general information policies for the final exam
Outline 1 final exam on Tuesday 5 May 2015, at 8AM, in BSB 337 general information policies for the final exam 2 some example questions strings, lists, dictionaries scope of variables in functions working
More informationPython for Scientific Computations and Control
Python for Scientific Computations and Control 1 Python for Scientific Computations and Control Project Report Georg Malte Kauf Python for Scientific Computations and Control 2 Contents 1 Introduction
More informationDell Canvas Layout. Version 1.0 User s Guide
Dell Canvas Layout Version 1.0 User s Guide Notes, cautions, and warnings NOTE: A NOTE indicates important information that helps you make better use of your product. CAUTION: A CAUTION indicates either
More informationTkinter: Input and Output Bindings. Marquette University
Tkinter: Input and Output Bindings Marquette University Tkinter Variables Tkinter contains a useful mechanism to connect widgets to variables This allows us to have variables change when widgets do and
More informationLesson 3 Creating and Using Graphics
Lesson What you will learn: how to delete a sprite and import a new sprite how to draw using the pen feature of Scratch how to use the pen up and pen down feature how to change the colour of the pen how
More informationYour (printed!) Name: CS 1803 Exam 2. Grading TA / Section: Monday, Oct 25th, 2010
Your (printed!) Name: CS 1803 Exam 2 Grading TA / Section: Monday, Oct 25th, 2010 INTEGRITY: By taking this exam, you pledge that this is your work and you have neither given nor received inappropriate
More informationMS Publisher 2007: Graphics. Lesson Notes Author: Pamela Schmidt
MS Publisher 2007: Graphics Lesson Notes Author: Pamela Schmidt Auto Shapes When a shape tool is selected, a precision pointer (cross hair) will appear when the mouse pointer is taken over the document.
More informationComputers Are Your Future Prentice-Hall, Inc.
Computers Are Your Future 2006 Prentice-Hall, Inc. Computers Are Your Future Chapter 5 Application Software: Tools for Productivity 2006 Prentice-Hall, Inc Slide 2 You Will Learn... ü How system software
More informationExploring Microsoft Office Word 2007
Exploring Microsoft Office Word 2007 Chapter 3: Enhancing a Document Robert Grauer, Keith Mulbery, Michelle Hulett Objectives Insert a table Format a table Sort and apply formulas to table data Convert
More informationThinking in Tkinter. Thinking in Tkinter. by Stephen Ferg ferg.org) revised:
1 of 53 Thinking in Tkinter by Stephen Ferg (steve@ ferg.org) revised: 2005-07-17 This file contains the source code for all of the files in the Thinking in Tkinter series. If you print this file with
More informationJTcl and Swank. Bruce A. Johnson, Tom Poindexter, & Dan Bodoh. What s new with Tcl and Tk on the JVM. Wednesday, October 26, 11
JTcl and Swank What s new with Tcl and Tk on the JVM Bruce A. Johnson, Tom Poindexter, & Dan Bodoh JTcl and Swank Bruce s Motivation Cross-platform, scriptable, desktop applications for analyzing and visualizing
More informationGraphics Performance Benchmarking Framework ATI. Presented to: Jerry Howard. By: Drew Roberts, Nicholas Tower, Jason Underhill
Graphics Performance Benchmarking Framework ATI Presented to: Jerry Howard By: Drew Roberts, Nicholas Tower, Jason Underhill Executive Summary The goal of this project was to create a graphical benchmarking
More informationPerch Documentation. U of M - Department of Computer Science. Written as a COMP 3040 Assignment by Cameron McKay, Marko Kalic, Riley Draward
Perch Documentation U of M - Department of Computer Science Written as a COMP 3040 Assignment by Cameron McKay, Marko Kalic, Riley Draward 1 TABLE OF CONTENTS Introduction to Perch History of Perch ---------------------------------------------
More informationIntroducing Motif. Motif User s Guide 1
Introducing Motif Motif is a software system that provides you with a great deal of control over the appearance of your computer s visual display. This introductory chapter provides information on the
More informationGetting started 7. Setting properties 23
Contents 1 2 3 Getting started 7 Introduction 8 Installing Visual Basic 10 Exploring the IDE 12 Starting a new project 14 Adding a visual control 16 Adding functional code 18 Saving projects 20 Reopening
More informationDsTool: A Dynamical System Toolkit with an Interactive Graphical Interface
DsTool: A Dynamical System Toolkit with an Interactive Graphical Interface Based on the program kaos written by S. Kim and J. Guckenheimer User s Manual J. Guckenheimer B. A. Meloon M. R. Myers F. J. Wicklin
More informationGraphical User Interfaces
Chapter 14 Graphical User Interfaces So far, we have developed programs that interact with the user through the command line, where the user has to call a Python program by typing its name and adding the
More informationVHSE - COMPUTERISED OFFICE MANAGEMENT MODULE III - Communication and Publishing Art - PageMaker
INTRODUCTION : It is one Adobe PageMaker 7.0 software is the ideal page layout program for business, education, and small- and home-office professionals who want to create high-quality publications such
More informationTKproE 2.20 Documentation
2.20 Documentation Table of Contents TKproE 2.20 Documentation About TKproE...5 TKproE License...5 Other license information...6 Introduction...7 Learn more about TCL/TK at:...7 Installation...8 Command
More informationVector- drawn: what is the meaning of " on the fly " in vector images? It means that computers draw the image as per instructions.
Bitmaps: what is bit and map means? bit is the simplest element in the digital world. map is a two-dimensional matrix of these bits. Vector- drawn: what is the meaning of " on the fly " in vector images?
More informationPowerPoint Tips and Tricks
PowerPoint Tips and Tricks Viewing Your Presentation PowerPoint provides multiple ways to view your slide show presentation. You can access these options either through a toolbar on your screen or by pulling
More informationCOURSE OUTLINE. MS PowerPoint Last Updated: 19 July 2017
MS PowerPoint 2016 Last Updated: 19 July 2017 1. Table of Contents 1. Table of Contents... 2 A. COURSE OUTLINES... 3 1. Free online pre-training assessments... 3 2. MS PowerPoint 2016 Level 1... 3 3. MS
More informationCS 112 Project Assignment: Visual Password
CS 112 Project Assignment: Visual Password Instructor: Dan Fleck Overview In this project you will use Python to implement a visual password system. In the industry today there is ongoing research about
More informationCreate a Scrolling Effect in PowerPoint 2007
Create a Scrolling Effect in PowerPoint 2007 You have a large image, document, etc. that you d like to show in your presentation and you d like to be able to scroll through it with the ability to control
More informationPowerPoint Basics (Office 2000 PC Version)
PowerPoint Basics (Office 2000 PC Version) Microsoft PowerPoint is software that allows you to create custom presentations incorporating text, color, graphics, and animation. PowerPoint (PP) is available
More informationA Tcl/Tk BASED USER INTERFACE FOR MULTI-AGENT SYSTEMS
A Tcl/Tk BASED USER INTERFACE FOR MULTI-AGENT SYSTEMS Adriana Jurca Computer Science Department, Politehnica University of Timisoara Bv. Vasile Parvan 2, Timisoara, Romania Phone: +40-56-203876, E-mail:
More informationCOLLEGE OF ENGINEERING, NASHIK-4
Pune Vidyarthi Griha s COLLEGE OF ENGINEERING, NASHIK-4 DEPARTMENT OF COMPUTER ENGINEERING 1) What is Android? Important Android Questions It is an open-sourced operating system that is used primarily
More informationUser Interfaces. getting arguments of the command line a command line interface to store points fitting points with polyfit of numpy
User Interfaces 1 Command Line Interfaces getting arguments of the command line a command line interface to store points fitting points with polyfit of numpy 2 Encapsulation by Object Oriented Programming
More informationQuestion Possible Points Earned Points Graded By GUI 22 SQL 24 XML 20 Multiple Choice 14 Total Points 80
CS 1803 Spring 2011 Exam 3 KEY Name: Section: Grading TA: Integrity: By taking this exam, you pledge that this is your work and you have neither given nor received inappropriate help during the taking
More informationGraphical user interface software
Graphical user interface software what the user sees and uses examples of GUI-building systems HTML, CSS, Javascript (jquery, Dojo, YUI, XUL,...) Flash, Silverlight,... X Window system, GTk Tcl/Tk, with
More informationSMART Board Quick Reference
The Ready Light Your SMART Board interactive whiteboard includes a Ready Light that indicates the status of your interactive whiteboard. Color of Ready Light Not lit Solid green Flashing green Solid red
More informationScripting or - How to Control Your AVR From Your PC
Scripting 101 - or - How to Control Your AVR From Your PC Dave Harper Introduction As a member of this forum for a few years now, there is one thing I have seen many times with new users. First, they discover
More informationLesson 7 Working with Graphics
Lesson 7 Working with Graphics *Insert pictures from files *Insert picture from Microsoft Clip Art Collections *Resize and reposition a picture *Create and modify WordArt *Create and modify SmartArt *Create
More informationPowerPoint X. 1. The Project Gallery window with the PowerPoint presentation icon already selected. 2. Click on OK.
PowerPoint X Launching PowerPointX 1. Start PowerPointX by clicking on the PowerPoint icon in the dock or finding it in the hard drive in the Applications folder under Microsoft PowerPoint. PowerPoint
More informationPython GUIs. $ conda install pyqt
PyQT GUIs 1 / 18 Python GUIs Python wasn t originally desined for GUI programming In the interest of "including batteries" the tkinter was included in the Python standard library tkinter is a Python wrapper
More informationTcl/Tk for XSPECT a Michael Flynn
Tcl/Tk for XSPECT a Michael Flynn Tcl: Tcl (i.e. Tool Command Language) is an open source scripting language similar to other modern script languages such as Perl or Python. It is substantially more powerful
More informationMicrosoft Excel 2016 / 2013 Basic & Intermediate
Microsoft Excel 2016 / 2013 Basic & Intermediate Duration: 2 Days Introduction Basic Level This course covers the very basics of the Excel spreadsheet. It is suitable for complete beginners without prior
More informationGraphical User Interfaces
Graphical User Interfaces 1 User Interfaces GUIs in Python with Tkinter object oriented GUI programming 2 Mixing Colors specification of the GUI the widget Scale 3 Simulating a Bouncing Ball layout of
More informationReview for Second Midterm Exam
Review for Second Midterm Exam 1 Policies & Material 2 Questions modular design working with files object-oriented programming testing, exceptions, complexity GUI design and implementation MCS 260 Lecture
More informationENGR/CS 101 CS Session Lecture 15
ENGR/CS 101 CS Session Lecture 15 Log into Windows/ACENET (reboot if in Linux) Use web browser to go to session webpage http://csserver.evansville.edu/~hwang/f14-courses/cs101.html Right-click on lecture15.py
More informationTkRibbon: Windows Ribbons for Tk
TkRibbon: Windows Ribbons for Tk Georgios Petasis Software and Knowledge Engineering Laboratory, Institute of Informatics and Telecommunications, National Centre for Scientific Research Demokritos, Athens,
More informationDifferent File Types and their Use
Different File Types and their Use.DOC (Microsoft Word Document) Text Files A DOC file is a Word processing document created by Microsoft Word, a word processor included with all versions of Microsoft
More informationTech Note - 05 Surveillance Systems that Work! Calculating Recorded Volume Disk Space
Tech Note - 05 Surveillance Systems that Work! Surveillance Systems Calculating required storage drive (disk space) capacity is sometimes be a rather tricky business. This Tech Note is written to inform
More informationSelected GUI elements:
Selected GUI elements: Element tkinter Class Description Frame Frame Holds other GUI elements Label Label Displays uneditable text or icons Button Button Performs an action when the user activates it Text
More informationSubmitted to: Professor Greg Welch, Comp145 May 1, 2001
Vegetation Mapping System Implementation Manual Submitted to: Professor Greg Welch, Comp145 May 1, 2001 Client: Team 4: Aaron Moody Michael Smith Hani Alkhaldi Daniel Chen Victor Ibrahim Sarath Kolluru
More informationINTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK IMAGE COMPRESSION USING VLSI APPLICATION OF DISCRETE WAVELET TRANSFORM (DWT) AMIT
More informationWeb-Friendly Sites. Planning & Design 1
Planning & Design 1 This tutorial presents useful tips and tricks to help you achieve a more Web-friendly design and make your sites more efficient. The following topics are discussed: How Z-order and
More informationVisualisation : Lecture 1. So what is visualisation? Visualisation
So what is visualisation? UG4 / M.Sc. Course 2006 toby.breckon@ed.ac.uk Computer Vision Lab. Institute for Perception, Action & Behaviour Introducing 1 Application of interactive 3D computer graphics to
More informationCOPYRIGHTED MATERIAL PHOTOSHOP WORKSPACE. Interface Overview 3. Menus 15. The Toolbox 29. Palettes 61. Presets and Preferences 83 WEB TASKS
PHOTOSHOP WORKSPACE CHAPTER 1 Interface Overview 3 CHAPTER 2 Menus 15 CHAPTER 3 The Toolbox 29 CHAPTER 4 Palettes 61 CHAPTER 5 Presets and Preferences 83 COPYRIGHTED MATERIAL PHOTOSHOP WORK SPACE UNIVERSAL
More informationElectronic Portfolios in the Classroom
Electronic Portfolios in the Classroom What are portfolios? Electronic Portfolios are a creative means of organizing, summarizing, and sharing artifacts, information, and ideas about teaching and/or learning,
More informationABB PowerPoint template User s Guide
Corporate Communications February 2006 ABB PowerPoint template User s Guide ABB Group -1- ABB PowerPoint template User s Guide Table of Contents pg 3 The ABB PowerPoint template pg 7 Minimizing overall
More informationLecture 3 - Overview. Object-oriented programming and classes Operators Very briefly about naming conventions Graphical user interfaces (GUIs)
Lecture 3 - Overview Object-oriented programming and classes Operators Very briefly about naming conventions Graphical user interfaces (GUIs) Object-oriented philosophy Object = Data + Algorithm An object
More informationPowerPoint 2010 Introduction
PowerPoint 2010 Introduction TOOLBAR RIBBON What is the ribbon? The ribbon contains the commands and other menu items that were on menu and toolbars in PowerPoint 2003 and earlier. The ribbon is designed
More informationToo Many Windows. Ron Wold Mentor Graphics Corporation 8005 SW Boeckman Road Wilsonville, OR
Too Many Windows Ron Wold Mentor Graphics Corporation 8005 SW Boeckman Road Wilsonville, OR 97070 503-685-0878 Abstract Over the past 10 years the Modelsim GUI, written in Tcl/Tk, has grown from a simple
More informationGraphical User Interfaces
to visualize Graphical User Interfaces 1 2 to visualize MCS 507 Lecture 12 Mathematical, Statistical and Scientific Software Jan Verschelde, 19 September 2011 Graphical User Interfaces to visualize 1 2
More informationPowerPoint Launching PowerPointX
PowerPoint 2004 Launching PowerPointX 1. Start PowerPoint by clicking on the PowerPoint icon in the dock or finding it in the hard drive in the Applications folder under Microsoft Office 2004. PowerPoint
More informationGUI-based Chinese Font Editing System Using Font Parameterization Technique
Typography and Diversity http://www.typoday.in GUI-based Chinese Font Editing System Using Font Parameterization Technique Minju Son, School of Computer Science and Engineering, Soongsil University, sonmibz@ssu.ac.kr
More informationKingsoft Presentation 2012
Kingsoft Office 2012 1 CHAPTER FOUR Kingsoft Presentation 2012 Kingsoft Presentation is one of the components of Kingsoft Office 2012, the latest version of the Kingsoft Office Suite. Kingsoft Office is
More informationPicture Maze Generation by Repeated Contour Connection and Graph Structure of Maze
Computer Science and Engineering 2013, 3(3): 76-83 DOI: 10.5923/j.computer.20130303.04 Picture Maze Generation by Repeated Contour Connection and Graph Structure of Maze Tomio Kurokawa Department of Information
More informationGraphical User Interface (GUI)
Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware
More informationDASHBOARDPRO & DASHBOARD
DASHBOARDPRO & DASHBOARD In a world where text rules the flow of knowledge, how do you expand the content and present it in such a way that the viewer appreciates your hard work and effort to a greater
More informationHuman-Computer Interaction. Chapter 2. What is HCI?
Human-Computer Interaction Chapter 2 What is HCI? Overview 2.1 The Human 2.2 The Computer 2.3 The Interaction Models of Interaction Interaction Styles Elements of the WIMP Interface HCI 2.3.1 Models of
More informationKeynote Basics Website:
Keynote Basics Website: http://etc.usf.edu/te/ Keynote is Apple's presentation application. Keynote is installed as part of the iwork suite, which also includes the word processing program Pages. If you
More informationMA Petite Application
MA Petite Application Carlos Grandón July 8, 2004 1 Introduction MAPA is an application for showing boxes in 2D or 3D The main object is to support visualization results from domain
More informationwhere are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures
where are we? ICS 105: Project in HCI UI Toolkits and Programming Models lectures done with evaluation techniques a couple of lectures on toolkits and programming other topics: graphical design and screen
More informationCHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface
CHAPTER 1 Finding Your Way in the Inventor Interface COPYRIGHTED MATERIAL Understanding Inventor s interface behavior Opening existing files Creating new files Modifying the look and feel of Inventor Managing
More informationPortable GUI for ptpython shell
IT Carlow Bachelor of Software Development Year 4 Portable GUI for ptpython shell Student Name: Inga Melkerte Student ID: C00184799 Supervisor: Paul Barry Date: 31/10/16 Table of Contents Table of Contents
More informationComponent V Supporting Materials / Learn More Interesting Facts. Interesting Facts
Component V Supporting Materials / Learn More 1.4.1 Interesting Facts No. Interesting Facts 1. All computers operate by following machine language programs. 2. Machine language programs are long sequence
More informationCreating Visually Appealing Documents. Word Module 2. Diocese of St. Petersburg Office of Training
Creating Visually Appealing Documents Word 2010 Module 2 Diocese of St. Petersburg Office of Training Training@dosp.org Diocese of St. Petersburg 0 9/5/2014 This Page Left Intentionally Blank Diocese of
More information1.6 Graphics Packages
1.6 Graphics Packages Graphics Graphics refers to any computer device or program that makes a computer capable of displaying and manipulating pictures. The term also refers to the images themselves. A
More informationDESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT
DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree
More informationFINAL PROJECT OF WEBSITE DESIGN AND DEVELOPMENT COMP 2681 DEPARTMENT OF COMPUTER SCIENCE THOMPSON RIVERS UNIVERSITY
FINAL PROJECT OF WEBSITE DESIGN AND DEVELOPMENT COMP 2681 DEPARTMENT OF COMPUTER SCIENCE THOMPSON RIVERS UNIVERSITY CASE STUDY PHOTOGRAPHY WEBSITE A PERSONAL PORTFOLIO WEBSITE DEVELOPMENT BY EMMANUEL ALUKO
More informationCS 112: Intro to Comp Prog
CS 112: Intro to Comp Prog Tkinter Layout Managers: place, pack, grid Custom Frames Widgets In-depth StringVar tkfont Upcoming Tk To use Tkinter Widgets (components: buttons, labels, etc). You must import
More informationWeb Design, 5 th Edition
Typography and Images Web Design, th Edition Chapter Objectives Explain webpage typography issues Discuss effective use of webpage images Describe image file formats Discuss how to prepare web-ready images
More informationReview. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL
Window Manager Base Window System Graphics & Event Library Hardware more abstract, application-/user- Applications User Interface Toolkit Review Designing Interactive Systems II 4-Layer Model Graphics
More information