Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: some potential Qt console refactoring #1522

Closed
wants to merge 2 commits into from

Conversation

wesm
Copy link

@wesm wesm commented Mar 24, 2012

Background: I'm in the process of building a small Qt application which I want to have, among other things, a tabbed IPython Qt console widget. Currently the Qt frontend main window and application are factored as a standalone application, so I started to tinker with what might be the best way to make the tabbed console into a reusable component for other GUI applications. So I wanted to pick your brains about it.

I have a few questions too:

  • Are there tests for the app? I guess the only way may be to use it :/
  • Are there any plans to set up alternate environments in the Qt console so that you can launch remote kernels via the Qt console (preferably with a little configuration window where you can add new kernel launch commands)? If not I may do this at some point.

@epatters
Copy link
Contributor

The Qt console is designed to be embeddable in other applications, but not via the classes you are considering. The class of interest for you is RichIPythonWidget, which provides the basic console frontend without any coupling to IPython's application layer. Your application would then be responsible for launching kernel(s), placing the widget in a tab group or other layout container, etc.

On the other hand, the main window class is indeed quite coupled to the IPython qtconsole application, but it was never intended to be used outside of IPython and we are not, as far as I know, making any promises about its API being stable across versions. The functionality provided by the main window class is quite specific and is not appropriate for many embedding use cases. Of course, you may find it a useful starting point for building your own application.

As far as tests go, some components of the Qt console have unit tests but generally the coverage is poor. This is largely due to the fact that many components of the console are difficult to test, but there is definitely room for improvement here.

@epatters
Copy link
Contributor

Oh, and as your final question indicates, the built-in Qt console application is quite barebones. Many features, including more sophisticated kernel management, would be great to have. We would welcome contributions on this front.

@fperez
Copy link
Member

fperez commented Apr 15, 2012

@wesm, does what @epatters say help you out? I'm trying to flush our PR queue, and would like to know if you consider this one for merging, or if Evan's guidance made you change your mind in any way...

@wesm
Copy link
Author

wesm commented Apr 15, 2012

You can safely close the PR unmerged. Thanks for checking

Sent from my mobile device

On Apr 14, 2012, at 9:48 PM, Fernando Perez
reply@reply.github.com
wrote:

@wesm, does what @epatters say help you out? I'm trying to flush our PR queue, and would like to know if you consider this one for merging, or if Evan's guidance made you change your mind in any way...


Reply to this email directly or view it on GitHub:
#1522 (comment)

@fperez
Copy link
Member

fperez commented Apr 15, 2012

OK, closing as per @wesm's request. Thanks for letting us know.

@fperez fperez closed this Apr 15, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants