Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #40859 > unrolled thread

Tkinter GUI Question-Infinite Loop

Started byprquinn@gmail.com
First post2013-03-08 06:04 -0800
Last post2013-03-08 16:12 +0000
Articles 2 — 2 participants

Back to article view | Back to comp.lang.python


Contents

  Tkinter GUI Question-Infinite Loop prquinn@gmail.com - 2013-03-08 06:04 -0800
    Re: Tkinter GUI Question-Infinite Loop MRAB <python@mrabarnett.plus.com> - 2013-03-08 16:12 +0000

#40859 — Tkinter GUI Question-Infinite Loop

Fromprquinn@gmail.com
Date2013-03-08 06:04 -0800
SubjectTkinter GUI Question-Infinite Loop
Message-ID<732589c8-7322-4b11-96dd-99808d40fc6f@googlegroups.com>
Greetings,

I'm trying to run a simple Tkinter program that opens a program when you click a button.  The code is listed below.  I use a command to call a program that then calls a fortran program.  However, when I click on the button, it opens the program but the menu of the program i'm calling goes into an infinite loop......the offending code seems to be in the button1Click module.

Any help is greatly appreciated.

Thanks

from Tkinter import *
import os, sys
from win32com.client import Dispatch
xlApp=Dispatch('Excel.Application')
_PSSBINPATH=r"C:\Program Files\PTI\PSSE32\PSSBIN"
os.environ['PATH']=_PSSBINPATH+';'+os.environ['PATH']
sys.path.insert(0,_PSSBINPATH)
import redirect; redirect.psse2py()
import psspy

class MyApp:
    def __init__(self, parent):
        self.myParent = parent  ### (7) remember my parent, the root
        self.myContainer1 = Frame(parent)
        self.myContainer1.pack()

        self.button1 = Button(self.myContainer1)
        self.button1.configure(text="OK", background= "green")
        self.button1.pack(side=LEFT)
        self.button1.bind("<Button-1>", self.button1Click) ### (1)

        self.button2 = Button(self.myContainer1)
        self.button2.configure(text="Cancel", background="red")
        self.button2.pack(side=RIGHT)
        self.button2.bind("<Button-1>", self.button2Click) ### (2)

    def button1Click(self,event):    ### (3)
        psspy.runiplanfile(r"C:\MNTACT\Contingency Program\work\contingency-31-4.irf")
        if self.button1["background"] == "green": ### (4)
            self.button1["background"] = "yellow"
        else:
            self.button1["background"] = "green"

    def button2Click(self, event):  ### (5)
        self.myParent.destroy()     ### (6)


root = Tk()
myapp = MyApp(root)
root.mainloop()

[toc] | [next] | [standalone]


#40863

FromMRAB <python@mrabarnett.plus.com>
Date2013-03-08 16:12 +0000
Message-ID<mailman.3084.1362759137.2939.python-list@python.org>
In reply to#40859
On 08/03/2013 14:04, prquinn@gmail.com wrote:
> Greetings,
>
> I'm trying to run a simple Tkinter program that opens a program when
> you click a button.  The code is listed below.  I use a command to
> call a program that then calls a fortran program.  However, when I
> click on the button, it opens the program but the menu of the program
> i'm calling goes into an infinite loop......the offending code seems
> to be in the button1Click module.
>
> Any help is greatly appreciated.
>
You say "the menu *of the program i'm calling* goes into an infinite
loop" (my emphasis), so perhaps the problem isn't in _your_ code.

Try something simpler like this:

import psspy

psspy.runiplanfile(r"C:\MNTACT\Contingency
Program\work\contingency-31-4.irf")

Does the program you're calling still go into an infinite loop?

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web