Difference between revisions of "Frameworks/GettingStarted"

m
 
(2 intermediate revisions by 2 users not shown)
Line 11: Line 11:
 
====Qt Keywords====
 
====Qt Keywords====
  
KDE Frameworks now enforces -DQT_NO_KEYWORDS
+
KDE Frameworks now enforces -DQT_NO_SIGNALS_SLOTS_KEYWORDS
  
This means the macros Qt without the Q_ 'namespace' will not work.
+
This means the "signals" and "slots" keywords will not work. They should be replaced by Q_SIGNALS and Q_SLOTS respectively.
 
 
This includes "foreach" "emit", "signals", and "slots". They should be replaced by Q_FOREACH, Q_EMIT, Q_SIGNALS and Q_SLOTS respectively.
 
  
 
====Strings====
 
====Strings====
Line 21: Line 19:
 
In Frameworks 5 any string on its own such as "foo" will not be automatically converted to a QString. Instead, you should use one of:
 
In Frameworks 5 any string on its own such as "foo" will not be automatically converted to a QString. Instead, you should use one of:
 
* QLatin1String() for string comparisons i.e (if myString == QLatin1String("SomeText))
 
* QLatin1String() for string comparisons i.e (if myString == QLatin1String("SomeText))
* QLiteralString for string creation i.e QIcon::fromTheme(QLiteralString("document-new"));
+
* QStringLiteral for string creation i.e QIcon::fromTheme(QStringLiteral("document-new"));
 
* tr() for translatable strings in frameworks that cannot use i18n
 
* tr() for translatable strings in frameworks that cannot use i18n
 
* i18n for translatable strings in frameworks that can use i18n
 
* i18n for translatable strings in frameworks that can use i18n

Latest revision as of 10:53, 24 August 2013

Getting Started

Useful Reading

Information about the changes between Qt4 and Qt5 can be found in the dist/changes-5.x of each submodule

Changes regarding changes to kdelibs can be found at kdelibs/KDE5PORTING.html

Other Changes

Qt Keywords

KDE Frameworks now enforces -DQT_NO_SIGNALS_SLOTS_KEYWORDS

This means the "signals" and "slots" keywords will not work. They should be replaced by Q_SIGNALS and Q_SLOTS respectively.

Strings

In Frameworks 5 any string on its own such as "foo" will not be automatically converted to a QString. Instead, you should use one of:

  • QLatin1String() for string comparisons i.e (if myString == QLatin1String("SomeText))
  • QStringLiteral for string creation i.e QIcon::fromTheme(QStringLiteral("document-new"));
  • tr() for translatable strings in frameworks that cannot use i18n
  • i18n for translatable strings in frameworks that can use i18n

This page was last edited on 24 August 2013, at 10:53. Content is available under Creative Commons License SA 4.0 unless otherwise noted.
-->