Qt Crash Course for Beginners - Create C++ GUI Apps

Поділитися
Вставка
  • Опубліковано 3 лип 2024
  • Welcome to this beginner's crash course on the Qt framework. If you're new to Qt, it's a powerful tool for building cross-platform applications, meaning you can create apps that work on different operating systems like Windows, macOS, and Linux, using a single codebase. Qt is used by many top companies like Autodesk, Skype, and The Qt Company, making it a popular choice for building professional-grade applications. In this video, we'll show you how to get started with Qt and create a simple calculator app from scratch. So let's dive in!
    Timestamps:
    00:00 Welcome to the Video
    00:36 Downloading and Installing the Qt Creator IDE
    03:55 Launch the IDE and change the Theme
    04:21 Create the Project
    06:09 Take a look at the files created by the Wizard
    06:51 Qt Creator Interface, Windows and Views
    08:36 Design the UI
    12:46 Creating Event Handlers and Coding the Logic
    15:36 How to learn Qt, Qt Documentation, Stackoverflow and Google
    17:06 More Coding
    17:44 Run the Application inside the IDE
    18:04 Exporting the Application
    22:18 Ranting about why you should join our Telegram Group
    23:15 Running the App outside of the IDE
    24:16 Application File size and more Qt Stuff
    26:13 Recap on what we did today
    28:29 Ranting about how Fast Qt is
    29:01 UI Customizability in Qt
    29:34 Cross-platform capability and Conclusion
    30:12 Thank you for Watching
    Before we can get started with creating our app, we need to install the Qt framework. You can download the Qt framework from the official Qt website, and the installation process is straightforward. We'll be using Qt Creator, which is the official integrated development environment (IDE) for the Qt framework. Once you've downloaded the Qt framework, simply run the installer and follow the on-screen instructions to complete the installation process. Once you've installed Qt Creator, we can move on to creating our project.
    Qt Website: qt.io/
    Download Qt Online Installer for Open Source Page: www.qt.io/download-qt-installer
    I want to let you know about our Telegram group. Joining our group is completely optional, but it can be a great resource for you as you're learning how to use the Qt framework. We're a friendly and supportive community, and we're always here to help if you run into any issues or have questions about Qt. In fact, we recently had a viewer who was able to debug an error in their project with the help of screenshots they sent in our group. Without their screenshots, we wouldn't have been able to resolve the issue as quickly as we did.
    Additionally, in our Telegram group, you can download important files like project files and dlls directly, which is much more convenient than uploading them somewhere else. So if you're interested in joining our community, just head over to our Telegram group and request to join. We'd love to have you!
    Join the Telegram Group: sciber.dev/tg
    Download the missing DLL files: t.me/wearesciber/1047/1104
    Visit our website: sciber.dev
    Learn More C++ GUI Content: • C++ GUI With Visual St...
    Learn to make C++ GUI apps with Modern UI: • C++ Modern GUI (Winforms)
    Watch a similar video on C++ WinRT with WinUI3, Build native Windows 10 and 11 Apps with WinUI3: • C++ GUI: Modern UI/UX ...
    Follow me on Instagram for more Updates: / thisismalindu
    Follow me on Facebook for more Updates:
    / themalindu
    Join our channel for other content like Graphic Design for local Sri Lankan Viewers: / @thisismalindu
    Thank you for watching this beginner's crash course on the Qt framework. If you found this video helpful, please consider subscribing to our channel, liking this video, and sharing it with anyone else who might find it useful. Also, don't forget to join our Telegram group for access to important files and to be part of a supportive community. We appreciate your support and hope to see you in the next video!
    Subscribe: / @wearesciber
  • Наука та технологія

КОМЕНТАРІ • 97

  • @Cpp_Ninja
    @Cpp_Ninja Рік тому +34

    PLEASE do more of the Qt videos. Just got into C++ last week and this is awesome. So glad I stumbled into your channel, thanks bromeo

    • @rishi8413
      @rishi8413 3 місяці тому

      broooo, u r fucked up

  • @wladfan
    @wladfan 7 місяців тому +2

    Thanks for the tutorial! This is the first one that I actually got working...

  • @user-to7bo1rb3z
    @user-to7bo1rb3z 11 місяців тому +5

    Really useful for beginners. I am glad that there are not some trunk in the first video of learning qt. Thank you very much, Sciber.
    I hope you keep it up

    • @wearesciber
      @wearesciber  11 місяців тому

      I'm glad it helped. Thank you for the comment

  • @spicygaming9528
    @spicygaming9528 Рік тому +2

    Bro you are the best finally someone who elaborates on the stuff that he teachers. Keep it up

  • @adityaanand6094
    @adityaanand6094 6 місяців тому

    Wow best video on qt tutorial i found till now

  • @LUTHFIZXC
    @LUTHFIZXC Рік тому +2

    Glad I'm found this channel

  • @franckmekoulou4314
    @franckmekoulou4314 Рік тому +6

    Bonjour, depuis le temps que j'attend une serie de tutoriel dessus, c'est tres excitant. Merci

    • @wearesciber
      @wearesciber  Рік тому

      Glad to hear, hopefully we'll continue this as a complete series. 😸 💚

  • @schrankwand8020
    @schrankwand8020 24 дні тому

    Great Tutorial, Thank you

  • @K-A-L-I-
    @K-A-L-I- Рік тому +2

    we need more QT video please!

  • @asdasdaa7063
    @asdasdaa7063 Рік тому +1

    Perfect short tutorial that gets to the point, thank you bro. Do you have any tutorials on deigns for qt? For example to make the UI look good, add gifs images so on. just styling things, would love a video on that!

    • @wearesciber
      @wearesciber  Рік тому +2

      Thanks for the kind words. I am working on a styling video, just thinking about what to include and what not.

  • @Seventro7
    @Seventro7 Рік тому +1

    Your back! After a long break 🤠

  • @DavisTibbz
    @DavisTibbz 9 місяців тому +3

    Thanks. Great for beginners. I just wished you used "double" instead of int. But thanks. Please show how to add ICON to application next time

  • @RichardTheHamster
    @RichardTheHamster Рік тому

    aah, finaly a sinhala dude who teaches c++..

  • @usmanghazi29
    @usmanghazi29 2 місяці тому

    stunning

  • @bennguyen1313
    @bennguyen1313 3 місяці тому

    I have an existing c++ console-application (VS Studio Community) that uses std:thread, to interface to the serial port (1st thread), can-bus (2nd thread), and a (3rd) logger thread that receives data from the other threads and writes to a file.
    Now I'd like to make the application into a GUI..
    Would adding another std:thread for the Qt-Gui be easier, or should the app be written from scratch using Qt's multitasking (i.e. re-write the serial port and can-bus code to use QThread not std:thread)? Is linking to other libraries easy under Qt Creator or would using Qt in Visual Studio be easier?

  • @benny-shen
    @benny-shen 4 місяці тому

    Helpful

  • @cartoonzer
    @cartoonzer 7 місяців тому

    Can you import a desgin from qt design studio intto qt creator?

  • @atNguyen-wu2ul
    @atNguyen-wu2ul Рік тому

    Can you make 1 video about the search function in the file. C++ GUI

  • @kelvinasante-bekoe4865
    @kelvinasante-bekoe4865 Рік тому +3

    I think God should make you his superior Angel, How I wish i could subscribe like 3 Trillion times for you. You make things so so so easy. From now on I am your number 1 fan. I just don't know what to say. I will end here and say a big thank you for your hard work and smart tutorials. Please make more if you can.

  • @gawrbage
    @gawrbage 7 місяців тому +1

    Great tutorial! My only problem is that you compiled a debug version of the application and not the release version of the application. This is probably the reason why it is asking for the libgcc DLL files in order to run.

    • @wearesciber
      @wearesciber  7 місяців тому

      Thank you.
      I'm not sure if that's the case. I am using Qt6 now and it seems there is no error once i run windeployqt6.exe on either the debug or release version of the app. If i run windeployqt.exe on it, i get the error. Perhaps, it was their fault all along.
      Anyways thanks for mentioning this. I really should have exported it in release mode nevertheless.

  • @yakubcemil850
    @yakubcemil850 Рік тому +2

    Please make more videos about C++ GUI and UI programming

  • @DungVu-di7dz
    @DungVu-di7dz 8 місяців тому

    with Qt, I have difficulty adding libraries from outside

  • @usmanghazi29
    @usmanghazi29 2 місяці тому

    plese make more on qt

  • @chessmemes-
    @chessmemes- 9 місяців тому

    please someone help me at
    3:00
    only the first 2 options are shown (there is no desktop development option) can someone tell me why

    • @wearesciber
      @wearesciber  9 місяців тому

      Do you have telegram?
      Because someone had the same problem and we solved it. I have the instructions in the telegram group. If you could join the group and see the messages, it would be much easier.
      Anyways, after you select custom installation, click on LTS from the right side and then click filter. Then from the left side you can select Qt and from there you can select the latest Qt version.
      You can go through the check boxes and uncheck things like android to reduce the installation time.

  • @eocapone
    @eocapone 10 місяців тому +1

    This video helped me a lot, but, when I do the windeploy procedure, and, I added 4 .dll that were missing, the app still don't run and shows the message "The procedure entry point _Z9qt_asserPKcSO_i could not be located at the dynamic link library". Could you please tell me how to fix that problem?

    • @rossmaxx
      @rossmaxx 6 місяців тому

      I found windeployqt to be buggy.

    • @yukunfang312
      @yukunfang312 6 місяців тому

      Did you run the 'windeployqt.exe' which is mentioned in the video? There are a lot of files to generate.

  • @asdasdaa7063
    @asdasdaa7063 9 місяців тому

    Hey scriber, im wondering bro can you make a video about using qt with rust?

  • @samsam7064
    @samsam7064 5 місяців тому

    If you add the qt mingw bin to %PATH%, the build .exe can run. No need to copy missing dll.

  • @chamodihasuni2345
    @chamodihasuni2345 Рік тому

    😍

  • @bethwelkaranja
    @bethwelkaranja Рік тому

    The installer you are using does not match the one in the download link you provided. The one on the download link has some "at least one valid and enabled repository is required for this action to succeed"

    • @wearesciber
      @wearesciber  Рік тому

      Can you send some screenshots to our telegram group
      sciber.dev/tg

  • @rahmakoshin
    @rahmakoshin 11 місяців тому

    i downloaded the missing dll and i still have an issue that pops and i need help solving it as soon as possible please this error in execution file The procedure entry point _Z11gt_assert_XPKcSO_SO_i could not be located in the dynamic link library can you help me

    • @wearesciber
      @wearesciber  11 місяців тому

      Did you ask chatGPT (or bard). This is one of the most useful utilities that people ignore these days.
      To be honest, that error message doesn't look familiar to me at all. I would google it or ask chatGPT or bard. So I feel like if you did it yourself, you might just be able to debug the issue far more effectively and easily.

  • @PaulNOWAK-wc2ui
    @PaulNOWAK-wc2ui 11 місяців тому

    Hello ! I'm interested by your tutorial, but I don't find the "Qt 6.4 for desktop development" 'or the updated version) at 3:07 when I try to follow it. Should I install it previously or I don't require it for the tutorial (should I pick custom installation or Qt design studios instead ?) ?
    Thanks for answering fast, please

    • @wearesciber
      @wearesciber  11 місяців тому

      Sorry it seems qt changed the ui a bit.
      Do custom installation
      Then from there you can select the qt version
      If you are facing more problems send screenshots to sciber.dev/tg :)

    • @PaulNOWAK-wc2ui
      @PaulNOWAK-wc2ui 11 місяців тому

      @@wearesciber heya, thanks for the answer
      after I select custom installation, I have a list of components I need to install. Should I only instal Qt 6.5.2 extension ? Or I also need another one ? It's because the installation needs from several hours to 2 days to complete.
      Sorry, I can't send you screenshots, I have trouble using your link.

    • @wearesciber
      @wearesciber  11 місяців тому

      Do you have telegram?
      Because someone had the same problem and we solved it. I have the instructions in the telegram group. If you could join the group and see the messages, it would be much easier.
      Anyways, after you select custom installation, click on LTS from the right side and then click filter. Then from the left side you can select Qt and from there you can select the latest Qt version.
      You can go through the check boxes and uncheck things like android to reduce the installation time.

    • @PaulNOWAK-wc2ui
      @PaulNOWAK-wc2ui 11 місяців тому +1

      @@wearesciber Heya, I did what you told me and I managed to do the installation of the latest Qt version.
      but when searching for the app, I can't find "Qt creator", but instead I have Qt 6.2.4 which opens on a terminal.
      also, it installed me Qt linguist and Qt designer. do I need Qt creator for this tutorial ?

    • @wearesciber
      @wearesciber  11 місяців тому +2

      Sorry, i will install this on a vm and tell you later. This is just confusing because it seems qt completely changed the installation process. I will let you know

  • @pradeepkumarreddykondreddy7048

    Qt widgets application vs Qt quick application. When to use which one ?

    • @wearesciber
      @wearesciber  Рік тому +1

      Qt offers two main approaches for developing graphical user interfaces (GUIs): Qt Widgets and Qt Quick.
      Qt Widgets is a traditional, object-oriented approach to building GUIs using widgets, such as buttons, labels, and text boxes. It uses the QPainter system to draw graphics and provides a native look and feel across multiple platforms. This approach is best suited for building desktop applications with complex user interfaces that require fine control over the layout and behavior of individual widgets.
      Qt Quick, on the other hand, is a declarative language for building fluid and dynamic GUIs with animations and transitions. It uses QML (Qt Modeling Language) and JavaScript to define user interfaces, and leverages hardware acceleration for graphics rendering. This approach is best suited for building modern, mobile and touch-enabled applications, with fluid animations and UI elements that respond to user interactions.
      When deciding between Qt Widgets and Qt Quick, the choice depends on the type of application being developed and the specific requirements of the project. If the application requires complex user interfaces with a lot of widgets and fine control over the layout and behavior of the individual widgets, then Qt Widgets is the best choice. If the application is focused on a modern, dynamic and fluid UI with animations, then Qt Quick is the better choice.
      It is worth noting that Qt Widgets and Qt Quick are not mutually exclusive, and they can be used together in the same application. For example, an application may use Qt Widgets for its main window and menus, while using Qt Quick for its dynamic, interactive and visually rich content.

    • @Will-jk6nw
      @Will-jk6nw Рік тому

      @@wearesciber bro used ChatGPT

    • @luminous_Hits
      @luminous_Hits 10 місяців тому

      ​@@Will-jk6nw😂😂😂what a f**k?😅😅

    • @wearesciber
      @wearesciber  10 місяців тому

      Modern problems require modern solutions.
      No but seriously, these types of questions can be answered if they just searched the phrase on Google, when people ask questions like these, I feel like not going the extra mile to answer myself.

    • @Will-jk6nw
      @Will-jk6nw 10 місяців тому +1

      @@wearesciber Nah understandable, I just thought it was funny

  • @rajithlahiru5580
    @rajithlahiru5580 День тому

    Kurunegala kollek 😁

  • @sukivirus
    @sukivirus 10 місяців тому +1

    I never understood the license structure for open source QT programming so I stopped using QT longtime ago. The library is commercially only viable for big companies. :(

    • @peetcoetzee
      @peetcoetzee 9 місяців тому

      If you split the UI and the business logic you can provide the UI as free open-source to the customer.
      Your business logic can reside in another (C++ or other) app and the two apps can communicate via IPC or something similar.

  • @PainterWoW
    @PainterWoW Рік тому +1

    You should not send customers the debug version of your program. Compile a release

    • @wearesciber
      @wearesciber  Рік тому

      Right. I forgot. Guess i could say i left that as an exercise for the viewer to figure out 😉😆

  • @DiscordDegeneracy
    @DiscordDegeneracy 8 місяців тому

    anyone trying to make this themselves and with out the video make sure to make line edit boxes and not plain text edit boxes, or else it will not work.

  • @user-ep7to6ob4t
    @user-ep7to6ob4t 11 місяців тому

    When I want to create a new project, in the kits section it says "No matching kits found"

    • @wearesciber
      @wearesciber  11 місяців тому

      Are you on Windows

    • @user-ep7to6ob4t
      @user-ep7to6ob4t 11 місяців тому

      @@wearesciber yes

    • @wearesciber
      @wearesciber  11 місяців тому

      Did you install the mingw stuff while installing qt

    • @user-ep7to6ob4t
      @user-ep7to6ob4t 11 місяців тому

      @@wearesciber I uninstalled it and then reinstalled with MinGW - now it's working, thanks :)

    • @wearesciber
      @wearesciber  11 місяців тому

      Nice, glad to hear. I also once had the issue and that's what I did.
      So I guess the solution is to make sure that we install mingw while installing qt.

  • @wegogym34
    @wegogym34 9 місяців тому

    I can't find the telegram group

  • @dreaddy_bear
    @dreaddy_bear 3 місяці тому

    "first thing we need to do is change the theme to dark mode"
    based

  • @vampshawty
    @vampshawty Рік тому

    hey bro great video but its still giving the same error even after downloading the files

    • @wearesciber
      @wearesciber  Рік тому

      Which error? :)

    • @vampshawty
      @vampshawty Рік тому

      @@wearesciber this application was unable to start correctly 0xc00007b

    • @wearesciber
      @wearesciber  Рік тому

      When does that error come up. After installing qt or while installing qt

    • @vampshawty
      @vampshawty Рік тому

      @@wearesciber after copying the missing dll files

    • @wearesciber
      @wearesciber  Рік тому

      @@vampshawty did you google this

  • @gokusaiyan1128
    @gokusaiyan1128 2 місяці тому

    do videos with QML , widgets are really not that great anymore

  • @segsfault
    @segsfault Рік тому +1

    qt and gtk are nice, but imgui is banger than them.

    • @wearesciber
      @wearesciber  Рік тому +1

      Sure, imgui also offers more control over whats happening thanks to immediate mode, but also, Qt makes it really easy to design and develop applications with Qt Design Studio. So, need to choose what's best for our specific application.

    • @segsfault
      @segsfault Рік тому

      @@wearesciber tbh at this point idc if it's qt, gtk, winforms or imgui, i just don't want a app in electron.
      like even after having such nice frameworks they use electron just because their webdev team can handle it ig.

    • @wearesciber
      @wearesciber  Рік тому +1

      @@segsfault this is so true. Just make an app in C# with Avalonia. Everything is just an electron app nowadays.

    • @segsfault
      @segsfault Рік тому +1

      @@wearesciber true

  • @grenade0522
    @grenade0522 11 місяців тому

    The download speed is atrocious dude I have gigabit ethernet and it's downloading at 100 KB/s 💀💀💀💀

  • @lakmithanadun1853
    @lakmithanadun1853 Місяць тому

    Recognize that accent... Are you Sri Lankan?

  • @rickfuzzy
    @rickfuzzy 10 годин тому

    You’re kidding. Are you saying you need to manually copy files and join telegram groups just to be able to export an application. Surely not…

    • @wearesciber
      @wearesciber  10 годин тому

      I'm sorry, the issue is with Qt itself. It DOES NOT export the app properly. You can find the files needed in the qt directory itself. No need to join the group and download from somewhere you don't trust. You can just look at the file names from my video and find them under the Qt installation directories. I don't know why it doesn't export properly.