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