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 103585
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T01:08:49+00:00 2026-05-11T01:08:49+00:00

I’m starting out with wxPython and have been working my way through every tutorial

  • 0

I’m starting out with wxPython and have been working my way through every tutorial and example I can get my hands on. I’ve run into a slight problem, however, and it has to do with the wx.App versus the wx.Frame and which should contain specific methods. Just about every example I’ve seen don’t go much beyond layouts/sizers and event handling, none really tackle project organization of a wxPython project.

For example, I have a method that gets a list of folders. The way most examples would deal with this would be to stick the method right in the frame class. This method has the potential to be used in several other parts of the application, so it would make more sense to store it at the application class level.

How should I organize and call ‘universal’ methods like these so that I don’t clutter up my frame classes.

UPDATE:

To clarify, the ‘list of folders’ was just an example, my actual method does a lot more work. What I’m saying is I have code that isn’t Frame-specific. If I had this in the application class, what is the best way to call it from and event method in my frame.

I’m looking for actual project organization techniques, not programming fundamentals.

  • 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. 2026-05-11T01:08:50+00:00Added an answer on May 11, 2026 at 1:08 am

    Your classes that inherit from wxWidgets/wxPython data types should not implement any business logic. wxWidgets is a GUI library, so any subclasses of wxApp or wxFrame should remain focused on GUI, that is on displaying the interface and being responsive to user actions.

    The code that does something useful should be separated from wx, as you can decide later to use it in some web or console application and you don’t want to create wxApp object in such case. You can also decide later on to move some computations to separate ‘worker threads’, while your GUI will be the ‘main thread’ – responsive, and repainted properly during long lasting computations.

    Last but not least – the classes that encapsulate your logic might tend to grow during projects lifetime. If they’re mixed with your GUI classes they will grow faster, and finally they become so complex that you’re almost unable to debug them…

    While having them separated leads to clean code when you don’t mix bugs in logic with bugs in GUI (refreshing/layout/progress bar etc.). Such approach has another nice feature – ability to split work among GUI-people and logic-people, which can do their work without constant conflicts.

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

Sidebar

Ask A Question

Stats

  • Questions 75k
  • Answers 75k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Im not sure you actually understand what AJAX is so… May 11, 2026 at 2:35 pm
  • added an answer It (text and picture of an about dialog) should be… May 11, 2026 at 2:35 pm
  • added an answer Autofac can do it - they call it Startable May 11, 2026 at 2:35 pm

Related Questions

I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am currently running into a problem where an element is coming back from
Seemingly simple, but I cannot find anything relevant on the web. What is the
Configuring TinyMCE to allow for tags, based on a customer requirement. My config is
Is it possible to replace javascript w/ HTML if JavaScript is not enabled on

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.