Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6123611
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T16:02:14+00:00 2026-05-23T16:02:14+00:00

I’m learning python and wxPython at the same time… :) So, I have a

  • 0

I’m learning python and wxPython at the same time… 🙂 So, I have a set of python files that run fine from the command line: ./scan -d test ~/Pictures — for instance will create a database of my pictures called “test.”

I’ve been working diligently on a front end for this (I didn’t write the original command line python files), and I can get it to run using:

def bt_ScanUpdateClick(self, event):
    self.SetSizeWH(450,360)

    ## DEBUG
    self.tc_MainDatabase.Value = "test.db"


    if self.tc_MainDatabase.Value == "":
        self.LogWindow.Value += "ERROR:\tNo database name selected!\n"
    else:
        scanCMD = "./scan -d " + self.tc_MainDatabase.Value + " "

        numLines=0
        maxLines=(int(self.multiText.GetNumberOfLines()))

        if self.multiText.GetLineText(numLines) == "":
            self.LogWindow.Value += "ERROR\tNo folder selected to scan!\n"
        else:
            self.LogWindow.Value += "Running Scan...\n\n"
            while (numLines < maxLines):
                scanCMD += str(self.multiText.GetLineText(numLines)) + " "
                numLines += 1

            self.LogWindow.Value += scanCMD

            p = subprocess.Popen([scanCMD],shell=True,stdout=subprocess.PIPE,stdin=subprocess.PIPE)
            self.LogWindow.Value += p.communicate()[0]

This presents a problem for me:

  1. Once I click the Button to activate
    this, it doesn’t actually even get
    to the self.SetSizeWH(450,360) part
    of the function. It just stays in a
    “down” state. When
    the command is done, the app comes
    back to life with everything in the
    output window (self.LogView) already… I would
    like to get the output in a more
    ‘realtime’ way… possible?

Any thoughts?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T16:02:14+00:00Added an answer on May 23, 2026 at 4:02 pm

    Roughly speaking, screen updates happen during each iteration of the event loop. While your code is running, the event loop is stuck in the same iteration and thus screen updates can’t happen.

    To work around this you need to run your long-running task in a separate thread or process. Because wxPython is single-threaded, any updates to the GUI (such as writing the lines of output) must be done in the main thread. To do that, your worker thread can use wx.CallAfter which will schedule a command to be run in the GUI thread at its earliest convenience.

    For more information see the page Long Running Tasks on the wxPython wiki, and see this answer to the question wxPython: Problems with thread. on this website.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have text I am displaying in SIlverlight that is coming from a CMS
link Im having trouble converting the html entites into html characters, (&# 8217;) i
Does anyone know how can I replace this 2 symbol below from the string
this is what i have right now Drawing an RSS feed into the php,
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have just tried to save a simple *.rtf file with some websites and
Seemingly simple, but I cannot find anything relevant on the web. What is the
I want to count how many characters a certain string has in PHP, but
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.