A Beginner's Doubt

Terry Reedy tjreedy at udel.edu
Wed Jun 19 13:57:06 EDT 2013


On 6/19/2013 9:58 AM, augustofec at gmail.com wrote:
> Hello!
> This is my first post in this group and the reason why I came across here is that, despite my complete lack of knowledge in the programming area, I received an order from my teacher to develop a visually interactive program, until 20th July, so we can participate in a kind of contest.
>
> My goal is to learn and program it by myself, as good as the time allows me. That said, what I seek here is advice from people who definitively have more experience than me on topics like: is it possible to develop this kind of program in such a short amount of time? What kinds of aspects of Python should I focus on learning? What tutorials and websites are out there that can help me? What kind of already done packages are out there that I can freely use, so I do not need to create all the aspects of the program froms scratch?
>
> It would be wise to give an abstract of the program. I made an information flux kind of graphic, but I do not know how to post it in here, so I'll use only words:
>
> Full screen window

Do you literally mean a full screen *window*, like a browser maximized, 
with frame and title bar with Minimize, Restore/Maximize, and Close 
buttons? or a full-screen app without the frame, like full-screen games?

Tkinter, Wx, etc, are meant for the former, Pygame, etc, for the latter.

  -> Title and brief introductory text -> 3 Buttons (Credits) 
(Instructions) and (Start)
>
> (Credits) -> Just plain text and a return button
> (Instructions) -> Just plain text and a return button
> (Start) -> Changes the screen so it displays a side-menu and a Canvas.

If you open Idle and click Help / About IDLE, you will see a dialog box 
with title, text, and two groups of 3 buttons that open plain text, 
including Credits, in a separate window with a close (return) button. It 
you decide to use tkinter, this would give you a start. The code is in 
Lib/idlelib/aboutDialog.py. I do not know how to make the 'dialog' be a 
main window instead, nor how to replace a main window with a new set of 
widgets (as opposed to opening a new window), but I presume its 
possible. If so, I am sure Rick could tell us how.

> Side menu -> X number of buttons (maybe 4 or 5)

Is this really required, as opposed to a normal top menu?

> Buttons -> Clicked -> Submenu opens -> List of images
>                                      -> Return button -> Back to side menu
>
> Image in List of images -> When clicked AND hold mouse button -> Make copy

I am not sure what you mean by 'copy'. Make an internal image object 
from the disk file?
>                          -> if: dragged to canvas -> paste the copy in place
>                          -> if: dragged anywhere else -> delete copy and nothing happens

It sounds like the intention is to have multiple images on the canvas at 
once.

> On canvas:
> Image -> On click and drag can be moved

This could be a problem if images overlap.

>        -> Double click -> Opens menu -> Resize, Deform, Rotate, Color, Brigthness, Contrast, Color Curve, Saturation

Image operations are what are usually placed on a size menu or floating 
menu box.

Neil mentioned PIL (Python Image Library) because Tk's image support is 
anemic, and does not have any built-in transformations. Pillow, at
https://pypi.python.org/pypi/Pillow/2.0.0
is a friendly fork that include patches to run on Python 3.3, which I 
would otherwise recommend that you use.


> Then, somewhere in cavas:

This should be a button on the side menu.
>
> Save option -> Prompt for file and user's name
>              -> Prompt if users want printed copy or not -> Print
>              -> After saved, display random slideshow in other monitor, device or screen with the users' creations.



-- 
Terry Jan Reedy




More information about the Python-list mailing list