Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "qt5"
Okay guys, this is it!
Today was my final day at my current employer. I am on vacation next week, and will return to my previous employer on January the 2nd.
So I am going back to full time C/C++ coding on Linux. My machines will, once again, all have Gentoo Linux on them, while the servers run Debian. (Or Devuan if I can help it.)
So what have I learned in my 15 months stint as a C++ Qt5 developer on Windows 10 using Visual Studio 2017?
1. VS2017 is the best ever.
Although I am a Linux guy, I have owned all Visual C++/Studio versions since Visual C++ 6 (1999) - if only to use for cross-platform projects in a Windows VM.
2. I love Qt5, even on Windows!
And QtDesigner is a far better tool than I thought. On Linux I rarely had to design GUIs, so I was happily surprised.
3. GUI apps are always inferior to CLI.
Whenever a collegue of mine and me had worked on the same parts in the same libraries, and hit the inevitable merge conflict resolving session, we played a game: Who would push first? Him, with TortoiseGit and BeyondCompare? Or me, with MinTTY and kdiff3?
Surprise! I always won! 😁
4. Only shortly into Application Development for Windows with Visual Studio, I started to miss the fun it is to code on Linux for Linux.
No matter how much I like VS2017, I really miss Code::Blocks!
5. Big software suites (2,792 files) are interesting, but I prefer libraries and frameworks to work on.
For future reference, I'll answer a possible question I may have in the future about Windows 10: What did I use to mod/pimp it?
1. 7+ Taskbar Tweaker
3. Classic Start (Now: Open-Shell-Menu)
Enhanced text editor I like a lot more than notepad++. Aaaand it has a "vim-mode". 👍
Three way diff viewer, that can resolve most merge conflicts on its own. Its keyboard shortcuts (ctrl-1|2|3 ; ctrl-PgDn) let you fly through your files.
8. Link Shell Extensions
Support hard links, symbolic links, junctions and much more right from the explorer via right-click-menu.
Neither as beautiful as Conky, nor as easy to configure or flexible. But it does its job.
Of course this wasn't everything. I also pimped Visual Studio quite heavily. Sam question from my future self: What did I do?
1 AStyle Extension
2 Better Comments
Simple patche to make different comment styles look different. Like obsolete ones being showed striked through, or important ones in bold red and such stuff.
4 Atomineer Pro Documentation
Alright, it is commercial. But there is not another tool that can keep doxygen style comments updated. Without this, you have to do it by hand.
5 Highlight all occurrences of selected word++
Select a word, and all similar get highlighted. VS could do this on its own, but is restricted to keywords.
6 Hot Commands for Visual Studio
This ingenious invention colorizes brackets (aka "Rainbow brackets") and makes their inner space visible on demand. Very useful if you have to deal with complex flows.
Come on! 2018 and Visual Studio still outputs monochromatically?
That's it, folks.
No matter how much fun it will be to do full time Linux C/C++ coding, and reverse engineering of WORM file systems and proprietary containers and databases, the thing I am most looking forward to is quite mundane: I can do what the fuck I want!
Being stuck in a project? No problem, any of my own projects is just a 'git clone' away. (Or fetch/pull more likely... 😜)
Here I am leaving a place where gitlab.com, github.com and sourceforge.net are blocked.
But I will also miss my collegues here. I know it.
Well, part of the game I guess?7
A long time ago I started a project to make a devRant client with Python and Qt5.
I got far but got bored, or whatever. Was still in school, etc.
I have started from scratch again. Including a nogui mode. Sharing because I actually have made some pretty good progress in the past two days.
Plans: Besides the obvious fully-featured client: full support for plugins, custom themes, custom CLI commands. Multiple logins.
Considering a system that allows you to run a bot, and a bot framework (parsing arguments for you, marking notifs read, etc.)
And yes, it's called qtpy-rant (Pronounced cutie pie rant)3
After working with so many platforms and languages i think OpenSuse and QT5 is the best option for developing desktop/mobile/embedded solutions12
I'm working in a complex CMake/C++14 project.
Many libraries uses EASTL as STL replacement, works and compiles flawlessly.
Have to use Qt5 for an application which uses the libraries.
The EASTL Library fucking collapses
Compile fails, 1k of syntax errors somehow.
After hours trying to figure out without alterating the EASTL library (i don't want to maintain custom versions of 3rd party libraries, an complete burden to maintaining updated)
Remove all reference of Qt5 from the code and the build system.
It fucking compiles.
Isolate an minimal build which only uses CMake, EASTL and Hello World in Qt5.
1k of syntax errors again.
Spend hours trying to fix it, no avail, still fucking 1k syntax errors.
I'm past beyond of the project development where ALL the big libraries of the project uses EASTL extensively.
One day C++ will drive me into the depths of madness.2
I started my degree project with PySide. After a few weeks I read that PySide would cease to exist (or at least wouldn't receive Qt5 support). At that point I was already to far in the project to change the underlying framework.
I hoped to continue developing that project, but because I was already working with deprecated technology after quite literally only a few weeks, I lost interest because I didn't want to start from scratch again.
- Need a module to work with PDFs
- npm install
- But wait, that requires some dependencies
- And those dependencies require more dependencies
- Python not found
- Issues with env variables and wsl
*Bajillion hours later*
- poppler-qt5 not found
What the hecc is a poppler and why do I need it?
Statically linking to qt5 is quickly driving me fucking insane.
I've a list of unresolved dependencies during linking longer than a really long fucking list. Ugh.
Cmake, why can't you save me?
Think I'll just go back to dynamic and build on each needed system.1
One of my big gripes about PyQt5 in particular is lack of info, especially on advanced topics. This includes books. I found this on Amazon today:
Qt5 Python GUI Programming Cookbook: Building responsive and powerful cross-platform applications with PyQt https://amazon.com/dp/B079S4Q9T2/...
It was just published in July. I’m thinking I might buy the Kindle book.
On reviewer complained about lack of info on how to handle child dialogs (after fighting with child dialogs that had their own children and dialogs with threading and all that, I feel you, brother). But the 2 reviews it’s gotten look fairly positive.
I wonder how advanced the book gets. Going to read the sample later.4
Is developing on Windows equivalent to squaring the circle? Yeah, obligatory windows bad circlejerk I know.
I’ve been developing a QT5 application for 2 weeks now on my main Linux system. Now, I wanted to make a Windows port for my friends to try.
I install QtCreator on Windows since it’s what I used on Linux. First time setup, I was forced to create an account; I was kind of pissed off but no biggie, I just put “Fuck you” on every credential possible. That’ll teach em.
Now, I needed a decent compiler. Visual Studio is a no go because why the fuck is it so big; also last I checked this thing barely supports C99. So I went with MinGW64 and MSYS2 and made a kit of it. I also went with that because it was the easiest way to get the latest version of GSL and MathGL without having to compile it. Also, the fact that MSYS2 had pacman was pretty nice.
I couldn’t get the thing to work for the whole day until I realized that my kit was pointing to the wrong compiler, turns out msys64/mingw64/bin/g++ and msys64/usr/bin/g++ are two different things. Ok whatever
Now, I just need to hunt down all the .a files and throw it in the LIBS option to get the libraries to work.
I finally made a successful build. Only to find that the application did absolutely nothing. I went with copy pasting the dlls into where the exe was located and launching it manually only to find the error “Application could not start correctly”
Yeah, I might be a retard but fuck you Windows. All I had to do on linux was just install qtcreator on my package manager and let the library dependencies be handled automatically and I could start doing my work right away.6
Hey, Any reviews for this course?
Thanks for the help.
Also,do you see PY-QT5 in the long run?