Обычно большая часть разработчиков использует хорошие PC с большим количеством оперативной памяти и мощным процессором. Но когда приходит момент и мы выкатываем наше приложение в продакшен могут возникнуть проблемы которые ну ни как не должны были возникать.
Мы проверяем код, запускаем приложение у себя но у нас не получается повторить ошибку.
Все из-за того что компьютер пользователя можно назвать "печатной машинкой", которая еще и нагружена по полной, кучей открытых Excel файлов и т.п.
И так поделюсь с вами тем как я в данный момент веду разработку и как мне приходится обходить те или иные ошибки в работе приложения.
Разработкой я занимаюсь на MacBook Pro из-за того что я к нему привык и он долго работает от батареи. В связи с тем что в данный момент PHPQt5 не может работать под Mac OS, я использую виртуальную машину с минимальными характеристиками:
1 процессор с тактовой частотой 2.5 GHz
1 Gb оперативной памяти
С установленной Windows 7 Ultimate x64
И так самый главный совет
До тех пор пока окно программы имеет isVisible() = false или просто напросто оно не отображается можно спокойно работать со свойствами(как записывать так и получать из них данные)
Как только окно программы имеет isVisible() = true, то советую использовать только методы для записи и считывания данных из свойств
Лично я сам неоднократно сталкивался с тем что в момент работы программы получая значения свойства text у объекта QLineEdit мне возвращалось пустое значение
Список свойств которые мне пришлось заменить на методы:
Постараюсь привести как можно больше или буду пополнять по мере нахождения новых
QLineEdit
- phpqt Код:
$text = QLineEdit->text;
/** заменено на */
$text = QLineEdit->text();
QLineEdit->text = 'text';
/** заменено на */
QLineEdit->setText('text');
QTextEdit
- phpqt Код:
$text = QTextEdit->plainText;
/** заменено на */
$text = QTextEdit->toPlainText();
QTextEdit->plainText = 'text';
/** заменено на */
QTextEdit->setPlainText('text');
$html = QTextEdit->html;
/** заменено на */
$html = QtextEdit->toHtml();
QTextEdit->html = $html;
/** заменено на */
QTextEdit->setHtml($html);
QEvent
- phpqt Код:
$type = QEvent->type;
/** заменено на */
$type = QEvent->type();
На данный момент это все, так как в определенный момент я перестал использовать свойства в момент работы приложения.
В дальнейшем постараюсь по эксперементировать на PQStudio и дополнить данный список