askstring Window to the top under Windows

I

iwl

Hi,

I tryed askstring to input some text in my script,
but some ugly empty Window appears with the
Input-Window behind and all together behind my
Console showing my script. So all have to brought
to the top first by the user - very unconfortable
 
J

Jussi Salmela

iwl kirjoitti:
Hi,

I tryed askstring to input some text in my script,
but some ugly empty Window appears with the
Input-Window behind and all together behind my
Console showing my script. So all have to brought
to the top first by the user - very unconfortable

Are you asking about the function AskString in the EasyDialogs module of
Macintosh?

If so, I can't help you.

I'm just confused because the subject of your post contains the word
Windows which could mean Microsoft Windows on which Python hasn't the
EasyDialogs module.

Cheers,
Jussi
 
T

Tim Golden

Hi,

I tryed askstring to input some text in my script,
but some ugly empty Window appears with the
Input-Window behind and all together behind my
Console showing my script. So all have to brought
to the top first by the user - very unconfortable

It's not clear whether you're talking about the usual
"Why do I get a DOS window when I run my python script?"
question -- to which the answer is, in essence, change
your script's extension to .pyw or use the pythonw.exe
executable -- or "Why _when I use askstring_ do I get
an empty window?". If it's the latter, then I don't
know, but can you provide a small example script which
exhibits the behaviour.

TJG
 
I

iwl

It's not clear whether you're talking about the usual
"Why do I get a DOS window when I run my python script?"
question -- to which the answer is, in essence, change
your script's extension to .pyw or use the pythonw.exe
executable -- or "Why _when I use askstring_ do I get
an empty window?". If it's the latter, then I don't
know, but can you provide a small example script which
exhibits the behaviour.

TJG

at the python Console under XP (not pythonw).

-> instead of only showing the Inputwindow at the top,
some additional empty window is shown, both not on top.
 
J

Jussi Salmela

iwl kirjoitti:
at the python Console under XP (not pythonw).

-> instead of only showing the Inputwindow at the top,
some additional empty window is shown, both not on top.

I assumed that by "python Console" you mean the IDLE editor/interpreter.
I entered your 2 lines and the behaviour is the same on Win XP. I doubt
it has nothing to do with the OS, though.

(A word of warning but don't tell anyone: I've never used Tkinter, I use
wxPython!)

Every GUI implementation has a command loop and things to initiate the
correct execution environment. I think that's what you are missing here
and that's causing the odd behaviour.

I found an example (16.1.2.2 A Simple Hello World Program) in Python 2.4
and modified as shown:

#===============================================
from Tkinter import *
import tkSimpleDialog # <<<=== modification here

class Application(Frame):
def say_hi(self):
print "hi there, everyone!"

def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit

self.QUIT.pack({"side": "left"})

self.hi_there = Button(self)
self.hi_there["text"] = "Hello",
self.hi_there["command"] = self.say_hi

self.hi_there.pack({"side": "left"})

def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()

root = Tk()
app = Application(master=root)
app.mainloop()
tkSimpleDialog.askstring("a","b") # <<<=== modification here
root.destroy()
#===============================================

If you run it, it first shows the "Hello dialog" and after clicking the
QUIT button, your askstring gets run.

So: nothing wrong with Python, Tkinter or tkSimpleDialog.askstring.
Just carry on having fun with Python!

HTH,
Jussi
 
J

jim-on-linux

Hi,

I tryed askstring to input some text in my
script, but some ugly empty Window appears with
the Input-Window behind and all together behind
my Console showing my script. So all have to
brought to the top first by the user - very
unconfortable


By default
tk will open a root window.
so you will have to create
something to put into the
root window.
I suggest a button to open the tkSimpleDialog
box.

go to;

http://www.pythonware.com/library/tkinter/introduction/

jim-on-linux
http://www.inqvista.com
 
J

jim-on-linux

Is this default changeable befor askstring?

Here is an example of a simple button that will
open a tkSimpleDialog box
======

from Tkinter import *
import tkSimpleDialog
from tkSimpleDialog import askfloat

root = Tk() ## this is the default window
vlab = Button( root, text= 'Click here to Open
Dialog',
width = 20, height = 2,
bg = 'yellow',
command =(lambda: askfloat( 'Entery',
'Enter credit card number') ) )
vlab.grid()
mainloop()

jim-on-linux
http://www.inqvista.com
 
J

jim-on-linux

-------- Original-Nachricht --------
Datum: Tue, 06 Mar 2007 20:49:42 -0500
Von: jim-on-linux <[email protected]>
An: (e-mail address removed)
CC: "iwl" <[email protected]>
Betreff: Re: askstring Window to the top under
Windows


I've allready had a short look trough this to
find an idea how to change this behavior (which
should be done by the askstring makers) but
haven't up to now. I think what I do is what
askstring was made for keeping me away from tk
internals only wanting a little string input.

Because I have embedded python In my C-App I
make my own window now In C and extend python
by it so having more control about things
happen.


Check out how to use Entry Wiget
for data entry.

====

from Tkinter import *

root = Tk() ## this is the default window
vlab = Label(root, width = 20,
text = 'Enter data here')
vlab.grid( row=0, column =0)

ventry= Entry(root, width = 30)
ventry.grid(row = 0, column = 1)
mainloop()

jim-on-linux
http:\\www.inqvista.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top