Участник:Root/Песочница
Материал из Wiki.crossplatform.ru
(Различия между версиями)
(→QApplication: вариант) |
Root (Обсуждение | вклад) (→QApplication) |
||
Строка 4: | Строка 4: | ||
In addition, the following API changes were made: | In addition, the following API changes were made: | ||
- | + | <ol> | |
- | + | <li>[[Qt:Документация 4.3.2/qapplication#allWidgets | QApplication::allWidgets]]() and [[Qt:Документация 4.3.2/qapplication#topLevelWidgets | QApplication::topLevelWidgets]]() used to return a pointer to a [[Qt:Документация 4.3.2/qwidget#QWidgetList-typedef | QWidgetList]]. Now they return a [[Qt:Документация 4.3.2/qwidget#QWidgetList-typedef | QWidgetList]].<br />Also, [[Qt:Документация 4.3.2/qwidget#QWidgetList-typedef | QWidgetList]] has changed from being a typedef for QPtrList<[[Qt:Документация 4.3.2/qwidget | QWidget]]> to being a typedef for [[Qt:Документация 4.3.2/qlist | QList]]<[[Qt:Документация 4.3.2/qwidget | QWidget]] *>. See the [[#qwidgetlist-section | section on QWidgetList]] below for details.<br /><br />For example, if you have code like | |
- | + | <source lang="cpp-qt"> | |
- | + | QWidgetList *list = QApplication::topLevelWidgets(); | |
+ | QWidgetListIt it(*list); | ||
+ | QWidget *widget; | ||
+ | while ((widget = it.current())) { | ||
+ | if (widget->inherits("MainWindow")) | ||
+ | ((MainWindow *)widget)->updateRecentFileItems(); | ||
+ | ++it; | ||
+ | } | ||
+ | delete list; | ||
+ | </source> | ||
+ | you can rewrite it as | ||
+ | <source lang="cpp-qt"> | ||
+ | QWidgetList list = QApplication::topLevelWidgets(); | ||
+ | for (int i = 0; i < list.size(); ++i) { | ||
+ | if (MainWindow *mainWin = qobject_cast<MainWindow>(list.at(i))) | ||
+ | mainWin->updateRecentFileItems(); | ||
+ | } | ||
+ | </source></li> | ||
+ | <li>[[Qt:Документация 4.3.2/qapplication-qt3#setMainWidget | QApplication::setMainWidget]]() is no longer used. When all an application's windows are closed, the application will exit normally.</li> | ||
+ | </ol> | ||
=== Вариант === | === Вариант === | ||
<ul> | <ul> |
Версия 06:06, 7 ноября 2008
QApplication
The QApplication class has been split into two classes: QCoreApplication and QApplication. The new QApplication class inherits QCoreApplication and adds GUI-related functionality. In practice, this has no consequences for existing Qt applications.
In addition, the following API changes were made:
- QApplication::allWidgets() and QApplication::topLevelWidgets() used to return a pointer to a QWidgetList. Now they return a QWidgetList.
Also, QWidgetList has changed from being a typedef for QPtrList< QWidget> to being a typedef for QList< QWidget *>. See the section on QWidgetList below for details.
For example, if you have code likeQWidgetList *list = QApplication::topLevelWidgets(); QWidgetListIt it(*list); QWidget *widget; while ((widget = it.current())) { if (widget->inherits("MainWindow")) ((MainWindow *)widget)->updateRecentFileItems(); ++it; } delete list;
you can rewrite it as
QWidgetList list = QApplication::topLevelWidgets(); for (int i = 0; i < list.size(); ++i) { if (MainWindow *mainWin = qobject_cast<MainWindow>(list.at(i))) mainWin->updateRecentFileItems(); }
- QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally.
Вариант
- какой-то текст
код строка 1 код строка 2
- еще какой-то текст
код строка 1 код строка 2