Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Qt 6 C++ GUI Programming Cookbook

You're reading from   Qt 6 C++ GUI Programming Cookbook Practical recipes for building cross-platform GUI applications, widgets, and animations with Qt 6

Arrow left icon
Product type Paperback
Published in Apr 2024
Publisher Packt
ISBN-13 9781805122630
Length 428 pages
Edition 3rd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Lee Zhi Eng Lee Zhi Eng
Author Profile Icon Lee Zhi Eng
Lee Zhi Eng
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Chapter 1: Look-and-Feel Customization with Qt Designer FREE CHAPTER 2. Chapter 2: Event Handling – Signals and Slots 3. Chapter 3: States and Animations with Qt and QML 4. Chapter 4: QPainter and 2D Graphics 5. Chapter 5: OpenGL Implementation 6. Chapter 6: Transitioning from Qt 5 to Qt 6 7. Chapter 7: Using Network and Managing Large Documents 8. Chapter 8: Threading Basics –Asynchronous Programming 9. Chapter 9: Building a Touch Screen Application with Qt 6 10. Chapter 10: JSON Parsing Made Easy 11. Chapter 11: Conversion Library 12. Chapter 12: Accessing Databases with SQL Driver and Qt 13. Chapter 13: Developing Web Applications Using Qt WebEngine 14. Chapter 14: Performance Optimization 15. Index 16. Other Books You May Enjoy

Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

Symbols

2D canvas

rendering, in QML 122-126

2D shapes

rendering 135-139

3D canvas

using, in QML 154-158

3D shapes

rendering 139-143

A

advanced SQL queries

using 327-337

alpha blending 111

anchor animation 86

Android Native Development Kit (NDK) 222

Android Software Development Kit (SDK) 222

animation

group, creating 72-75

in QML 239-245

rendering, in QML 388-395

animators 88

widget properties, animating with 87, 88

Apache Ant 222

Application Programming Interface (API) 127, 259, 297

array 261

asynchronous computation 206

asynchronous programming 60-64

Avira ScanCL 291

B

bilinear filtering 147

bluecarrot16 92

C

C++

JavaScript functions, calling from 367-373

QML object pointer, exposing 41-43

C++ classes

changes 159-162

C++ functions

calling, from JavaScript 360-367

C++ Qt project 30

callback functions 66

Cascading Style Sheets (CSS) 2

ClamAV 291

class selector 6

Clazy checks

using, for Clang and C++ 163-167

CMake 52

color animation 86

coordinate transformation

rotation 107

scaling 107

shearing 107

translation 107

using 103-108

Core5Compat module 163

Currency API

URL 297

currency converter

creating 291-297

currencylayer API

URL 297

Cygwin 340

D

data

converting 275-281

sharing, between threads 211-214

database

setting up 299-306

data protection 211

density-per-pixel (DPI) 231

dynamic properties 26

E

ease-in and ease-out effect 72

easing curve parameters

amplitude 71

overshoot 71

period 71

easing curves

used, for controlling property animation 70-72

F

FFmpeg 285

files

uploading, and downloading with FTP 185-201

File Transfer Protocol (FTP)

used, for downloading and uploading files 185-201

FileZilla Server 186

Fixer.io 291

URL 297

form-based Qt 6 applications, built with C++

optimizing 375-382

fragment shader 132

full changes of Qt Quick, in Qt 6

reference link 172

function callbacks 64-66

G

Geolocation API 273

geometry shader 135

Google maps

embedding 354-360

Google Maps APIs 273

reference link 273

Google’s Geocoding API

using 270-273

Graphical User Interface (GUI) 68

graphics

image effects, applying to 113-116

graphics processing unit (GPU) 127

H

Hello World!

creating 130-135

I

ID selector 6

Image Composition feature 111

images

converting 281-284

displaying, on screen 108-111

effects, applying to graphics 113-116

Internet Relay Chat (IRC) 185

J

Java Development Kit (JDK) 222

JavaScript 63

C++ functions, calling from 360-367

JavaScript application 259

JavaScript functions

calling, from C++ 367-373

JavaScript language 217

JavaScript Object Notation 259

jQuery

download link 365

JSON data

processing, from text file 262-266

writing, to text file 266-270

JSON format 259-261

jsonrates

URL 297

K

keyboard controls

used, for moving object 152, 153

key-value pairs 261

L

lambda expression 52, 61, 62

lights

adding, in OpenGPL 148-151

Location API 273

login screen

creating, with Qt 315-320

creating, with style sheets 11-19

M

meta-object system 43

Microsoft Excel 326

MinGW 340

mobile applications

Qt, setting up for 218-223

model/view framework

used, for displaying information 245-251

ModelView-Projection (MVP) 140

model view widget

information, displaying from database 321-327

multi-threading 381

N

nearest neighbor filtering 147

nested animation group

creating 75-78

number animation 86

O

object 261

moving, with keyboard controls 152, 153

Open Exchange Rates

URL 297

OpenGL Shading Language (GLSL) 130

OpenGL Utilities (GLU) libraries 128

Open Graphics Library (OpenGL) 127, 130

lights, adding 148-151

setting up, in Qt 128-130

textures, using 144-147

OpenOffice Calc 326

orthographic projection 143

P

paint program

creating 116-122

Panda Antivirus Command Line Scanner 291

parallel animation groups 75, 78, 88

color animation 86

number animation 86

parent animation 86

path animation 86

peer-to-peer (P2P) communication 365

property animation 86

anchor animation 86

controlling, with easing curves 70-72

parent animation 86

path animation 86

rotation animation 86

using 68-70

Vector3d animation 86

pseudo-states 25

Q

QJsonDocument class 265

qmake build system 52

QML and C++

integrating 251-257

QML application 217

2D canvas, rendering in 122-126

animation in 239-245

animation, rendering 388-395

basic user interface, designing with 224-231

GUI element, animating with 82-86

optimizing 382-388

profiling 382-388

sprite animation, creating 89-91

QML object pointer

exposing, to C++ 41-44

QML project 30

QML types

changes 167-172

QObject 207-210

QPainter 97

QPdfWriter class

reference link 285

QRunnable processes

working with 214-216

Qt

animation framework 69

graphics view framework 70

login screen, creating with 315-320

OpenGL, setting up 128-130

property animation 68-70

setting up, for mobile applications 218-223

state machine framework 70

Timeline 69

Timer 69

Qt 6 application

connecting, to SQL server 306-309

state machines 78-81

Qt Canvas 3D 158

Qt Creator 5, 253

Qt Designer 5

style sheets, using with 2-5

Qt Design Studio 29, 224, 225

QThread 207-210

Qt Meta Language 29

Qt mode 111, 112

Qt Modeling Language (QML)

styling 29-41

Qt Quick 217

reference link 238

used, for developing touch-driven application to run mobile device 231-238

Qt Quick 3D 158

using, in QML 154-157

Qt Quick Components 29

Qt Style Sheets 2

and CSS, similarities between 6

Qt WebEngine 340

setting up 340-347

web settings, using 347-353

webview, using 347-353

Qt widget application 204

R

resources

in style sheets 20-24

rotation animation 86

S

SAV32CLI 291

Scalable Vector Graphics (SVG) files

shapes, exporting to 98-103

scene graph 88

sequential animation group 75, 78, 88

shader programs 130

shapes

exporting, to SVG files 98-103

Short Message Service (SMS) 297

signals and slots

using, with UI events 53-60

signals and slots mechanism 46-51

working 51, 52

slot function 27

sprite animation

creating, in QML 89-92

SQLite

Qt, using with 300-306

SQL queries

writing 309-314

state machine framework 81

in Qt 6 78-81

style sheets

customizing 6-11

resources, using 20-24

used, for creating login screen 11-19

using, with Qt Designer 2-5

sub-controls 29

customizing 24-28

T

tab widget 24

TCP client

creating 181-185

TCP server

creating 174-181

text file

used, for processing JSON data 262-266

used, for writing JSON data 266-270

textures

using, in OpenGPL 144-147

threads 203

data, sharing between 211-214

using 203-206

Time Zone API 273

touch-driven application

developing 231-238

Transmission Control Protocol (TCP) 174

type selector 6

U

UI events

signals and slots, using with 53-60

UI thread 88

universal selector 6

User Datagram Protocol (UDP) 180

V

Vector3d animation 86

vector shapes

drawing, on screen 94-97

vertex array object (VAO) 135

vertex buffer objects (VBOs) 130

vertex shader 132

vertical margin 13

video converter

creating 285-291

virtual functions 66

W

web settings, Qt WebEngine

using 348-354

webview, Qt WebEngine

using 348-354

widget properties

animating, with animators 87, 88

customizing 24-28

worker threads 206

X

XE Currency Data API

URL 297

XML format

reference link 266

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image