crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику hoRUS ::: Спасибо сказали: 5 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
29.9.2011, 14:39 Аналог exit; из php
В С/С++ есть
void exit ( int status );

, кот. завершает вызывающий процесс. status - код завершения (принято, что 0 - норм.)

В Qt есть статический метод
void QCoreApplication::exit ( int returnCode = 0 ) [static]

, кот. завершает текущий цикл обработки событий приложения, возвращая returnCode . Если в main() не создаётся другой цикл обработки событий после завершаемого (не вызывается другой exec() после текущего), то процесс завершится.

Есть статический метод
void QCoreApplication::quit() [static]

Он эквивалентен QCoreApplication::exit(0).
thechicho,
28.9.2011, 14:35 Константы в аргументах функций
1) а) Передача ссылки на строку, копирования самой строки не производится, но изменить не сможешь, т.к. ссылка константная.
б) Тут бы следовало ждать передачу по значению, т.е. копирование строки, но в Qt есть для QString (и некот. др. классов) механизм "неявного совместного использования" (http://doc.qt.nokia.com/4.7-snapshot/implicit-sharing.html) - передается ссылка на строку, но если где-то в функции setName() как-то изменить строку, то создастся независимая копия строки, которая будет локальной по отношению к setName(), т.е. все изменения, сделанные над строкой text в setName(), так в setName() и останутся. Этот механизм придуман для возможного увеличения производительности при сохранении семантики копирования по значению - если исходная строка никак не изменяется в функции, то и нефиг ее реально копировать, т.е. передавать по значению - достаточно передать ссылку, результат будет тот же. Если же строка изменяется внутри функции, то (как и требует семантика копирования по значению) - создаем копию данных... Детали реализации этого механизма могут быть другими, но идея такая.
Т.о. оба подхода фактически эквивалентны для QString, если внутри setName() строка не изменяется (хотя, конечно, это все еще зависит и от деталей реализации механизма)


RazrFalcon,
26.9.2011, 14:18 QDate и Unix time
Инициализируем объект QDateTime объектом QDate
QDateTime::QDateTime ( const QDate & date )

Constructs a datetime with the given date, a valid time(00:00:00.000), and sets the timeSpec() to Qt::LocalTime.


Или настраиваем объект QDateTime на объект QDate

void QDateTime::setDate ( const QDate & date )

Sets the date part of this datetime to date. If no time is set, it is set to midnight.

Итого (например)
qint64 dateInSecs = QDateTime(date).toMSecsSinceEpoch() / 1000;
dexter_cs,
22.9.2011, 23:16 Указатели и QMessageBox
Цитата(RazrFalcon @ 22.9.2011, 20:02) *
А что на счет:
QMessageBox::warning(this,"Proga","something",QMessageBox::Ok);
?


Это статическая ф-ция. Просто вызываешь её и всё. Весь контроль над памятью реализован в ней. При этом возврат из этой ф-ции будет тогда, когда закроешь соответствующий диалог. Пока диалог открыт, приложение блокировано (как и любой другой диалог, вызванный с помощью QDialog::exec()).
RazrFalcon,
8.8.2008, 14:04 Изменение размеров доквиджета
Попробуй создай наследника, например QFrame или QGroupBox или любого другого виджета, который устанавливается на доквиджет с возможностью задавать sizeHint, помести его на свой доквиджет с помощью QDockWidget::setWidget().
Почитай тута: http://trolltech.com/developer/knowledgebase/550/
AD,

RSS Текстовая версия Сейчас: 22.11.2024, 14:16