11 ms·
Qt Creator 4.6 Beta Released
- lultimouomo 9y agoYou can get more info directly from the source: http://blog.qt.io/blog/2018/02/07/qt-creator-4-6-beta-released/ http://blog.qt.io/blog/2018/02/07/qt-creator-4-6-beta-releas...
- 0xFFC 9y agoBest C++ IDE ever. Clang code model does provide (about) the same level of tooling in C++ with Java.
- mateuszf 9y agoHave you tried https://www.jetbrains.com/clion/ https://www.jetbrains.com/clion/ ?
- jcelerier 9y agoOn the project I work on, QtCreator's indexing takes 15 seconds and I have access immediately to all my types, even stuff using fairly modern C++17 with the latest beta, while CLion takes a good 20 minutes to parse it, and most of my code is a red underlined mess. QtCreator also feels much snappier when typing in general. The one good thing of CLion in my eyes is its detection of unused includes. But QtC is overall superior for C++ dev experience, especially when you factor in all the static analysis (clang-analyzer is integrated), profiling support (how nice is it to see small percentages next to your lines of code ! ), pretty debugging, etc. Both support CMake but QtCreator supports CMake's server mode API which is the recommended way onwards: https://cmake.org/cmake/help/v3.10/manual/cmake-server.7.html https://cmake.org/cmake/help/v3.10/manual/cmake-server.7.htm...
- DerDangDerDang 9y agoIs that because your code must be precompiled with moc before it's legal C++? It seems a little unfair to say QtCreator is faster and more accurate if you're working with Qt code. Qt chose to extend the language and make many of their vocabulary types opaque pimpl'd bags of void*, which makes it very hard for any other IDE to support Qt to the same extent. FWIW CLion also has built-in static analysis.
- deleted 9y ago[deleted]
- jcelerier 9y ago> Is that because your code must be precompiled with moc before it's legal C++? That's... not how moc works at all. Moc parse your header files and generates additional cpp files from it which contain boilerplate for reflection and signals. So no static analyzer has any problem parsing Qt code... (I use cppcheck, coverity, clang-analyzer, clang-tidy) The "special" Qt keywords like signal, slot, etc... are just trivial macros: https://github.com/qt/qtbase/blob/5.10/src/corelib/kernel/qobjectdefs.h#L86 https://github.com/qt/qtbase/blob/5.10/src/corelib/kernel/qo... "signals" is just defined as "public", "slots" and "emit" as nothing. Your compiler compiles your source as-is. If you really don't like moc, there's a way to get its features natively with C++14 compilers (and uglier macros) : https://github.com/woboq/verdigris https://github.com/woboq/verdigris
- DerDangDerDang 9y agoOK, 'legal c++' was a stretch - I take that back. I absolutely stand by the point that it's not reasonable to expect non-Qt tools to work as well as QtCreator on Qt-heavy projects. You don't explicitly say so, but your answer suggests that your project uses Qt heavily. QtCreator is great for Qt projects - fine. That doesn't say much about it in general though. Other IDEs handling a Qt-heavy project less well than QtCreator says nothing about them other than that they can afford to ignore Qt. Thanks for the link to verdigris. It's certainly less offensive than Moc, but if you're forced to use Qt you may as well use Moc.
- jcelerier 9y agoyou seem to think that QtCreator has special cases for Qt code. AFAIK the only specificity is that some icons change on signals during autocompletion, but it works just fine for non-qt projects - it's used quite a bit for development on embedded platforms. the c++ code model is simply its of clang.
- antnisp 9y agoClion will choke on anything that touches boost.
- hoistbypetard 9y agoAnything is overstating it. I use boost pervasively, and Clion has no issue with most of how I use it. But it certainly does choke on some of it, especially the function and variant stuff. What are you seeing it choke on? I haven't played with QtCreator lately. Clion has, over the past couple years, become my favorite C++ IDE on Linux because it can consume my hand-written cross-platform CMakeLists.txt and give me a nice experience, and because the debugger is really good IMO.
- jhasse 9y agoVisual Studio Code + cquery is also very good! https://github.com/cquery-project/cquery https://github.com/cquery-project/cquery
- 0xFFC 9y agoI have to admit. I love QtCreator combination with Clang. Nothing even comes close. Visual Studio (despite the factor it is only available for Windows) has serious flow. It parses a big project with small change. That results of huge time waste. But VSCode and CQuery is the (only?) serious competitor. Particularly if you like more lightweight, terminal stuff. Last time I checked CQuery it was not robust. But I am so glad seeing it is becoming more mature.
- DerDangDerDang 9y agoPeople keep saying this about Qt Creator. I've used it as my main working IDE for about 3 years now and I strongly disagree. I find it's not even a very good piece of software, let alone the best IDE. - Find References on a function doesn't differentiate between overloads - no way to sort or filter warnings by type - Find results window doesn't horizontally scroll or wrap, it just truncates (on mac) - mouse hover over a column separator preparing to drag, and the separator pops away as a titlebar takes it's place - this is UX 101 - you don't move the thing you know the user is trying to click! - can't restrict Find to a sub-project, top level project or nothing.
- DerDangDerDang 9y agoTo balance my above comment a little: QtCreator is great for free, and it’s existence is a huge boon to the community.
- geezerjay 9y agoI would also add the following pet peeves: - Qt Creator doesn't do a good job detecting when a build scripts should be refreshed even when a project is built, which causes compilation/linking problems. - Qt creator doesn't support setting a centralized widget stylesheet to define and update the stylesheet properties of any widget. - it only supports profiling in linux (valgrind) - its refactoring features are relaticely limited - support for static analysis via clang feels like a rush job
- pjmlp 9y agoI still think C++ Builder and VC++ are quite up to it, specially in the debugging area, edit-and-continue, incremental building and linking.
- yoz-y 9y agoQt Creator is my daily driver, and the steady stream of improvements is like having Christmas several times a year. I particularly like how seamless the integration with CMake is.
- giancarlostoro 9y agoI've always loved Qt Creator, I sometimes wish it would have first class citizen support for Python w/ Qt and other languages who bind Qt as well. Another language I would of loved to see even if it doesn't directly target Qt is D. Great IDE though, for the little C++ I've done, I've done it with Qt using Qt Creator. Otherwise I use PySide which I wish had firsthand support from them. Maybe Qt 5 could be a powerful Qt IDE that includes other languages that integrate well enough with Qt itself.
- fnl 9y agoWhile I love Python, I think all UIs I've ever seen that are based on it feel pretty clumsy. The QML+JavaScript path Qt is taking makes more sense to me - still snappy, but it unifies the web, app, and desktop worlds.
- traverseda 9y agoThere isn't really any UI code that follows the zen of python very well. Most of the python zealots I know are kind of ambivalent about UI's in general. What we would like * Programmable, discoverable, UIs. I should be able to click a UI element and know what function it calls, or what method it uses. * Keybindings support, and programmable/configurable keybindings * A repl, with support for aforementioned * Ncurses UI using same code base Right now, we're a long way off from doing python UI's in a way that doesn't feel hacky to the python zealots (like me).
- StavrosK 9y agoBoa Constructor used to do a lot of that, back in the day, and was a pretty good way of making UI apps. I don't think it's still maintained now, unfortunately.
- badsectoracula 9y agoThat last one is practically impossible for any but the most simple of applications. It is much easier to reuse a (graphical) UI between desktop and mobile than it is to reuse a GUI with a TUI. TUIs have core differences, from using character cells for positioning and only allowing characters for presenting the UI (i ignore stuff like sixel and regis since those aren't supported by most terminals), to only having a very small selection for colors (again ignoring things like terminals with 256 color support) and a very limited input (often special keys do not work, mouse may or may not work, etc). These things affect greatly the type of UIs you see in terminals - which is also why even today you rarely see terminal applications use the richer UIs that you could find in text based DOS applications in late 80s and early 90s. But as far for the rest, FWIW, everything you describe seems to be a thing in Blender's UI (including the ability to right click on every actionable element and see what Python function it calls), which probably is kinda expected considering that it was built around Python. Sadly the Blender UI is not something you can use outside of Blender since it is tightly coupled with the rest of the application. There are some attempts to recreate it as a reusable library (e.g. Blendish), but they only go as far as to recreate the look.
- vilya 9y agoQtCreator is brilliant, I just wish the Qt company would stop trying to hide it away! It's getting harder and harder to find the download link on their website.
- psyc 9y agoInteresting. When I investigated it a few months ago I was frustrated that I could only find docs for QtCreator, and nothing about just dropping in headers and writing code.
- wink 9y agoI hadn't even heard of it (well ok, wasn't doing C++, but still) but I'm generally amazed since I started using it. I don't miss IntelliJ really, and I've had it as my go-to IDE for like 7 years. Even the VIM mode works good enough.
- deleted 9y ago[deleted]
- skrebbel 9y agoSomewhat off topic, but I'm increasingly finding that Qt is the last remaining reason to use C++. Qt is amazing, but C++ isn't a very productive language to code in, even if you're good at it. OS-less microcontroller stuff is probably better done with plain C, and everything else (games, system programming, embedded programming with an OS, etc) has mature and better options available such as Rust, Go, Nim, and (particularly for gamedev) C#. But none of those languages have Qt. Of course, there's stuff like PyQt which is nice, but it's not got the status that C++ has in Qt land. Really what I'd love is if Qt would add first-class support for one of those newer languages. Rust maybe? I reckon it's a enormous, maybe simply unfeasible undertaking, but first-class Rust support, so I can fire up Qt Creator and start coding Qt apps in Rust would be fantastic. It would suddenly increase the usefulness of Rust by enormous amounts and it would keep Qt relevant. Does anyone know if the Qt people are evaluating other languages? Are they worried, commercially, about C++'s demise?
- jhasse 9y agoPyQt seems to work quite well, for example fman is written in it: https://fman.io/ https://fman.io/ Regarding gamedev: Unity itself is still written in C++ and Unreal Engine uses it even more. AAA games are written mostly in C++ with Lua/C#/Python for scripting. There are still a lot of other reasons to use C++, too.
- book_mentioned 9y agoShow HN: Cross-platform desktop applications with PyQT | https://news.ycombinator.com/item?id=16318677 https://news.ycombinator.com/item?id=16318677 (yesterday)
- Nokinside 9y agoPaying customers for Qt are still very C++/C oriented. Qt goes where the money is, and it seems to be in contracts with large manufacturers and focus in embedded systems, especially the automotive industry, automation and digital television. The QNX and INTEGRITY support is big deal in many industries.
- mankash666 9y agoThe wish-lists in this thread are numerous, and gripes against C++ are many. However, C++ & the multi-platform approach is very clearly working for Qt. This is classic noise drowning out the signal - if existing or future paying customers of Qt want something different, they'll let Qt know - after all paying customers pay for support that buys them a direct line with the builder(s).