Просто к делу. Вопрос был для scrollView, и у меня это работало нормально:
<ScrollView
ref='_scrollView'
onContentSizeChange={() => { this.refs._scrollView.scrollTo({x: 0, y: 0, animated: true}); }}
>
Если вы хотите создать двоичный файл Windows в Linux, вам необходимо выполнить кросс-компиляцию. Это означает, что вам необходимо установить кросс-компилятор Windows, а также библиотеки, которые вы связываете с , построенные с помощью кросс-компилятора . Для базовой программы Qt это означает, что вам понадобится как минимум кросс-скомпилированный Qt.
Кросс-компиляция не имеет ничего общего с Eclipse или Qt Creator. Я не думаю, что оба поддерживают кросс-компиляцию из коробки, но я думаю, вы могли бы заставить их делать это.
Некоторое время назад я пытался сделать это и нашел здесь ресурсы о кросс-компиляции: http://silmor.de/qtstuff.cross.php . Наконец, я скомпилировал версию win32 под Windows из-за нехватки времени, но это должно быть возможно.
Конечно, в Linux можно установить Qt Creator. Тот же код Qt можно использовать для компиляции в Linux / Win32 / Mac. Однако вы должны использовать код, специфичный для платформы, только в пределах:
#ifdef Q_OS_WIN32
qDebug() << "Executable files end in .exe";
#endif
Существуют и другие определения для других операционных систем. Если вы это сделаете, вы в безопасности и можете поспорить, что это кроссплатформенный код. : -)
Обратитесь к http://www.qtsoftware.com/downloads и загрузите Qt SDK для Linux / X11 . Он содержит Qt Creator, Assistant, Designer и так далее.
Для Eclipse существует официальный плагин .
Интеграция Qt Eclipse для C ++
Плагин Eclipse можно использовать для создавать программы с использованием любой версии Qt начиная с 4.1.0.
исполняемый файл в Windows не работает в Linux и наоборот. вы можете сделать это:
#ifdef Q_WS_X11
QString *OS=new QString("Linux");
std::cout << OS->toStdString() << std::endl;
#endif
#ifdef Q_WS_WIN
QString *OS=new QString("Windows");
std::cout << OS->toStdString() << std::endl;
#endif
#ifdef Q_WS_MACX
QString *OS=new QString("Mac");
std::cout << OS->toStdString() << std::endl;
#endif