qt:qt_ide_options
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
qt:qt_ide_options [2011/04/07 19:42] – created mithat | qt:qt_ide_options [2011/12/03 18:25] – mithat | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Qt IDE options ====== | ====== Qt IDE options ====== | ||
- | * [[Qt Creator]] | + | Unless otherwise noted, stuff below is based on experiments done in the late spring of 2011 on Debian and/or Ubuntu. I'm not considering KDE-based and Windows-only solutions. The focus below is on C++ development because it is Qt's native binding. Some Python thoughts are sprinkled in as well though. |
- | * [[Netbeans + C/C++/ | + | |
- | * [[Monkey Studio]] | + | |
- | * [[Eclipse + Qt Integration for C++]] | + | |
- | * [[Qt Designer + other tools]] | + | |
- | * [[QDevelop]] | + | |
- | * [[HaiQ]] | + | |
- | Note: I'm not considering KDE-based and Windows-only solutions. I may not consider GTK-only solutions as well. The focus below is on C++ development because it is Qt's native binding. Some Python thoughts are sprinkled in as well though. | ||
- | Executive summary as of the moment: Despite its UI quirks and C++ only support, Qt Creator is the way to go for C++ development. Netbeans | + | * [[#Qt Creator]] |
+ | * [[#Netbeans + C/ | ||
+ | * [[#Monkey Studio]] | ||
+ | * [[#Eclipse + Qt Integration for C++]] | ||
+ | * [[#Qt Designer + other tools]] | ||
+ | * [[# | ||
+ | * [[#HaiQ]] | ||
+ | |||
+ | Executive summary as of the moment: Despite its UI quirks and C++ only support, Qt Creator is the way to go for C++ development. Netbeans | ||
Line 33: | Line 34: | ||
* At the moment, no support for PyQt/ | * At the moment, no support for PyQt/ | ||
+ | |||
+ | ===== Eclipse + Qt Integration for C++ ===== | ||
+ | |||
+ | The much loved/ | ||
+ | |||
+ | I ended up downloading the vanilla " | ||
+ | |||
+ | A problem that I've had with Eclipse in the past regards its approach to UI design. It seems to want to assert it powerfulness by showing you its mind-boggling power all the time. I have found the UI too distracting, | ||
+ | |||
+ | Ok ... let's try to put these concerns behind us and move on to the Qt integration. I set up a simple project without any signal/slot connections and tried a debug. It generated a cryptic warning and then rendered my window. Success, I think. Regarding the user experience of the Eclipse plugin, it integrates the equivalent of Qt Designer into the Eclipse UI. But while all of the features available in the standalone seem to be present in the plugin version, accessing the features isn't as convenient. For example, when you want to open signal/slot editing mode, you must do so from the menu bar because there' | ||
+ | |||
+ | This ended my initial investigation into Eclipse as an option for Qt development. In my second investigation, | ||
+ | |||
+ | ==== Pros ==== | ||
+ | * " | ||
+ | * Qt support is (semi)official | ||
+ | * The Qt templates are good | ||
+ | * Support for PyQt through PyDev as well | ||
+ | ==== Cons ==== | ||
+ | * Quirky, often frustrating UI | ||
+ | * Closing a project leaves it visible in the workspace. | ||
+ | * Opening a new workspace resets everything | ||
+ | * Changes in " | ||
+ | * There' | ||
+ | * It's easy to change/ | ||
+ | * The integrated Qt Designer has usability issues. You can set the IDE to use the " | ||
+ | * The debugger stops at at '' | ||
+ | * You need to manually switch back to your editing perspective after debugging. | ||
+ | |||
+ | ==== Thoughts ==== | ||
+ | If one or more of the problems above is solved (e.g., getting the debugger to stop breaking unless you explicitly add breakpoints) it may be an alternative. | ||
===== Netbeans + C/ | ===== Netbeans + C/ | ||
- | Apparently, the classic Java IDE [[http:// | + | Apparently, the other classic Java IDE [[http:// |
- | Netbeans itself is Java/Swing based, so that means the IDE UI will look a bit goofy, but I personally < | + | Netbeans itself is Java/Swing based, so that means the IDE UI will look a bit goofy, but I personally < |
I sorta like this setup. I can get my brain around it, it seems full-featured, | I sorta like this setup. I can get my brain around it, it seems full-featured, | ||
Line 46: | Line 78: | ||
* Support for Python development is allegedly available, but development may be stalled. | * Support for Python development is allegedly available, but development may be stalled. | ||
* //Automated package building in tar, deb, etc. formats(!)// | * //Automated package building in tar, deb, etc. formats(!)// | ||
- | * Pretty [[http:// | + | * Pretty [[http:// |
- | * But I've had trouble getting it going | + | |
* It's Netbeans--it won't become abandonware. | * It's Netbeans--it won't become abandonware. | ||
- | * But the C/ | + | * But the C/ |
==== The cons ==== | ==== The cons ==== | ||
* The project structure seems to be a bit goofy. Rather than having a '' | * The project structure seems to be a bit goofy. Rather than having a '' | ||
- | * Less-than-optimal | + | * Swing' |
* You need to manually add code to the project that a more highly integrated setup (e.g., Qt Creator) would normally do for you, such as: | * You need to manually add code to the project that a more highly integrated setup (e.g., Qt Creator) would normally do for you, such as: | ||
* to the '' | * to the '' | ||
Line 89: | Line 120: | ||
* No profiling | * No profiling | ||
* Untested code completion | * Untested code completion | ||
- | |||
- | ==== TODO ==== | ||
- | * Add Beaver Debugger via PPA and see how well it works | ||
==== Thoughts ==== | ==== Thoughts ==== | ||
Lack of debugging makes this less than appealing for serious work. Debugging is not available at all for PyQt projects--in spite of the good PyQt templates, etc. I really hope to see this IDE develop. | Lack of debugging makes this less than appealing for serious work. Debugging is not available at all for PyQt projects--in spite of the good PyQt templates, etc. I really hope to see this IDE develop. | ||
- | |||
- | |||
- | ===== Eclipse + Qt Integration for C++ ===== | ||
- | |||
- | The " | ||
- | |||
- | I ended up downloading the vanilla " | ||
- | |||
- | I've tried Eclipse for Java development a few times in the past, and each time I've walked away from it. It uses SWT, so it integrates look and feel wise fine into any supported platform. Mostly. However, one of the problems I had with this version of Eclipse is that one or more of it's many splendored panes seemed to disappear at will. I'm not talking about it changing " | ||
- | |||
- | A problem that I've had with Eclipse in the past regards its approach to UI design. It seems to want to assert it powerfulness by showing you its mind-boggling power all the time. I have found the UI too distracting, | ||
- | |||
- | Things aren't looking good. | ||
- | |||
- | Ok ... let's try to put these concerns behind us and move on to the Qt integration. I set up a simple project without any signal/slot connections and tried a debug. It generated a cryptic warning and then rendered my window. Success, I think. Regarding the user experience of the Eclipse plugin, it integrates the equivalent of Qt Designer into the Eclipse UI. But while all of the features available in the standalone seem to be present in the plugin version, accessing the features isn't as convenient. For example, when you want to open signal/slot editing mode, you must do so from the menu bar because there' | ||
- | |||
- | This ended my investigation into Eclipse as an option for Qt development. | ||
- | |||
- | ''< | ||
- | |||
- | I think I've been too tough on Eclipse. I just gave it another go and it seems to be behaving a little less unpredictably. I'm not nearly sold on the idea though, just that I'm not totally in a veto state over it. | ||
- | |||
- | ==== Pros ==== | ||
- | * " | ||
- | * Qt support is (semi)official | ||
- | * The Qt templates are good | ||
- | * Support for PyQt through PyDev as well | ||
- | ==== Cons ==== | ||
- | * Quirky, often frustrating UI | ||
- | * Closing a project leaves it visible in the workspace. | ||
- | * Opening a new workspace resets everything | ||
- | * Changes in " | ||
- | * There' | ||
- | * It's easy to change/ | ||
- | * The integrated Qt Designer has usability issues. You can set the IDE to use the " | ||
- | * The debugger stops at at '' | ||
- | * You need to manually switch back to your editing perspective after debugging. | ||
- | * PyDev is totally WTF. | ||
- | |||
- | ==== Thoughts ==== | ||
- | If one or more of the problems above is solved (e.g., getting the debugger to stop breaking unless you explicitly add breakpoints) it may be an alternative. But given PyDev' | ||
- | |||
===== Qt Designer + other tools ===== | ===== Qt Designer + other tools ===== |
qt/qt_ide_options.txt · Last modified: 2011/12/03 18:36 by mithat