文件名称:
Learn QT 5 - Nicholas Sherriff.pdf
开发工具:
文件大小: 4mb
下载次数: 0
上传时间: 2019-07-29
详细说明:This is another good book on learning Qt5 very wellLearn Qt 5
Copyright o 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form
or by any means without the prior written permission of the publisher except in the case of brief quotations
embedded in critical articles or reviews
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented
However, the information contained in this book is sold without warranty, either express or implied. Neither the
author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to
have been caused directly or indirectly by this book
Packt Publishing has endeavored to provide trademark information about all of the companies and products
mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy
of this information
Commissioning Editor: Kunal Chaudhari
Acquisition Editor: Siddharth Mandal
Content Development editor: Flavian Vaz
Technical Editor: Akhil nair
Copy Editor: Shaila Kusanale
Project Coordinator: Devanshi Dosh
Proofreader: Safis Editing
Indexer: Tejal Daruwale soni
Graphics: Jason monteiro
Production Coordinator: Arvindkumar Gupta
First published: Febraury 2018
Production reference: 1060218
Published by Packt Publishing ltd
Livery pla
35 Livery street
Birmingham
B3 2PB, UK
ISBN978-1-78847-885-4
www.packtpub.com
Mapt
mapt. io
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as
well as industry leading tools to help you plan your personal development and advance
our career. For more information please visit our website
Why subscribe?
Spend less time learning and more time coding with practical eBooks and Videos
from over 4, 000 industry professionals
Improve your learning with skill plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
PacktPub, com
Did you know that packt offers e Book versions of every book published, with PdF and
epubfilesavailableYoucanupgradetotheeboOkversionatwww.packtpub.comandasa
print book customer, you are entitled to a discount on the e book copy. Get in touch with us
at servicepacktpub com for more details
Atwww.packtpub.comyoucanalsoreadacollectionoffreetechnicalarticlessignupfora
range of free newsletters and receive exclusive discounts and offers on packt books and
eBooKs
Contributors
About the author
Nicholas Sherriff(Nick) spent the majority of his career at a major utility company in the
UK, working predominantly on the Microsoft Windows platform with C#, ASP.NET, and
SQL Server. While leading the native application development function there, he
experimented with C++ before eventually discovering Qt, utilizing it on a major greenfield
project serving several thousand users. He currently works for a communications recording
software house. At home, Nick enjoys music, video games, and half-hearted calisthenics
About the reviewer
Marthala vishnu vardhan reddy is an enthusiastic software engineer. he is a ot software
developer and has been working in the automation industry since 2013. He completed his
master's in information technology from the University of Stuttgart, Germany. He is
currently working on the digitization of metal cutting tool data in the manufacturing
industry in the direction of Industry 4.0
He has done his bachelor's thesis from Institut superieur d'electronique de paris france
where he published an ieee publication on 5G networks as well
Packt is searching for authors like you
f you' re interested in becoming an author for Packt, please visit authors. packtpub com and
apply today. We have worked with thousands of developers and tech professionals, just
like you, to help them share their insight with the global tech community. You can make a
general application, apply for a specific hot topic that we are recruiting an author for, or
submit your own idea
Table of contents
Preface
Chapter 1: Hello Qt
6
Installing Qt
Maintaining your installation
13
Qt Creator
Scratchpad project
gmake
Summary
25
Chapter 2 Project Structure
26
Projects, MVC, and unit testing
26
Project creation
28
cm-lib
33
cm-tests
34
cm-uI
34
Mastering Mvc
37
QObject
40
QML
43
Project output
47
Summary
Chapter 3: User Interface
56
UX
56
Creating views
58
Stack View
60
Anchors
Sizing
69
Navigation
76
Fixing conflicts
86
Summary
87
Chapter 4: Style
88
Style resource
89
Font Awesome
Components
100
Table of Contents
Styling the navigation bar
104
Clicking
111
Commands
116
Command ba
122
Summary
128
Chapter 5: Data
129
JSON
129
Object hierarchy
Data Decorators
133
Entities
143
Entity collections
147
Data models
154
Custom TextBox
161
Summary
167
Chapter 6: Unit Testing
168
Unit testing
168
The default Qt approach
170
Custom approach
173
Data Decorator tests
181
Entity Tests
187
Mocking
193
Summary
199
Chapter 7: Persistence
201
SQLite
202
Primary keys
210
Creating clients
213
Panels
218
Finding clients
225
Editing clients
237
Deleting clients
241
Summary
245
Chapter 8: Web Requests
246
Network access
246
Web Requests
249
RSS View
255
RSS
259
Summary
277
[i]
Table of Contents
Chapter 9: Wrapping Up
278
Object factory
278
UI scali
281
Dashboard
283
Enumerator selectors
285
Contacts
294
Deployment preparation
300
OS X
302
Linux
307
Windows
313
Qt Installer framework
316
Installation
320
Summary
323
Other books You may Enjoy
325
Index
328
Preface
Qt is a mature and powerful framework for delivering sophisticated applications across a
multitude of platforms. It is widely used in embedded devices, including Tvs, satellite set-
top boxes, medical equipment, car dashboards, and much more. It also has a rich history in
the Linux world, with KdE and Sailfish OS using it extensively and many apps in the stores
being developed using Qt. It has also made great strides in the mobile arena over the past
few years. However, in the microsoft Windows and Apple macOs X worlds, the dominance
of C#/NEt and Objective-C/Cocoa means that Qt is often overlooked
This book aims to demonstrate the power and flexibility of the Qt framework and show
how you can write your application once and deploy it to multiple operating system
desktops. The reader will build a complete real-world Line of Business (lob) solution
from scratch with distinct library user interface, and unit test projects
We will cover building a modern and responsive user interface with Qml and wiring it up
to rich C++ classes. We will control every aspect of our project configuration and output
with QMake, including platform detection and conditional expressions. We will build"self-
aware"data entities that can serialize themselves to and from jsoN. We will persist those
data entities in a database and learn how to find and update them we will reach out to the
internet and consume an RSS feed. Finally, we will produce an installation package so that
we can deploy our application onto other machines
This is a suite of essential techniques that cover the core requirements for most LOB
applications and will empower the reader to progress from blank page to shipped
application
Who this book is for
This book targets application developers looking for a powerful and flexible framework for
creating modern and responsive applications on microsoft windows, apple mac os x, and
Linux desktop platforms. Although focused on desktop application development, the
techniques discussed are largely applicable to mobile development also
Preface
What this book covers
Chapter 1, Hello Qt, covers how to install and configure the Qt framework and associated
IDE, Ot Creator
Chapter 2, Project Structure, show cases how to create a new multi-project solution that will
be the foundation of our example application
Chapter 3, user Interface, explores the user interface markup language QMl and sketches
out our UIs layout
Chapter 4, Style, explains how to give our ui a modern look and feel with shared resources
and reusable components
Chapter 5, Data, discusses managing the most critical part of any LOB application-the
data
Chapter 6, unit Testing gets you started with integrating unit testing into our solution
using Qt's testing framework--QtTest
Chapter 7, Persistence focuses on persisting our data to disk in a sqlite database
Chapter 8, Web Requests assists in using Http requests to pull data from a live Rss feed
Chapter 9, Wrapping up, dives into packaging and deploying our application
To get the most out of this book
The reader should be comfortable with C++, but no prior knowledge of Qt or QMl is
required. On Mac os X, you will need to install XCode and have launched it at least once
On Windows, you may optionally install Visual Studio in order to have the msvc compiler
available
Download the example code files
You can download the example code files for this book from your account at
Www.packtpub.com.Ifyoupurchasedthisbookelsewhereyoucanvisit
Www.packtpub.com/supportandregistertohavethefilesemaileddirectlytoyou
[2]
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.