Вы должны использовать идентификаторы для ссылки на компоненты, например, если у вас есть Map и запустите Map.addMapItem(...)
, к какой карте будет добавлен элемент? С другой стороны, у вас есть дурная привычка: вы используете имена существующих элементов, таких как Item, который уже является типом, в этом случае измените его на item, чтобы избежать путаницы, учитывая, что решение выше:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtLocation 5.12
import QtPositioning 5.12
Window {
id: window
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Plugin {
id: mapPlugin
name: "osm"
}
function addMarker(latitude, longitude)
{
var Component = Qt.createComponent("qrc:///views/marker.qml")
var item = Component.createObject(window, {
coordinate: QtPositioning.coordinate(latitude, longitude)
})
map.addMapItem(item)
}
Map {
id: map
anchors.fill: parent
plugin: mapPlugin
center: QtPositioning.coordinate(59.14, 14.15)
zoomLevel: 14
Component.onCompleted:addMarker(59.14, 14.15)
}
}
[ 115] С другой стороны, в маркере вы указываете, что изображение имеет в качестве дочернего элемента другое изображение, считаете ли вы его правильным ?, в этом нет необходимости, поэтому исправленный код маркера:
import QtQuick 2.0
import QtLocation 5.12
MapQuickItem{
id: marker
anchorPoint.x: marker.width / 4
anchorPoint.y: marker.height
sourceItem: Image{
id: icon
source: "marker.png"
sourceSize.width: 40
sourceSize.height: 40
}
}
полный пример находится в следующей ссылке
Одна опция состоит в том, чтобы использовать пакет удаленного редактирования БРОДЯГИ (встроенный в Emacs 22 и более новый, и можно установить его в более старые версии). Каждый раз, когда Вы сохранили свой файл, Emacs отправляет свое содержание по ssh (по умолчанию; конечно, каждая деталь полностью настраивается) к машине Linux. Команды как M-x compile
и M-x grep
ОСВЕДОМЛЕНЫ О БРОДЯГЕ и выполняются на удаленном хосте.
Другой предложили Samba, который не может быть выполнимым на Вашем поле Linux. Хорошая альтернатива должна использовать Dokan SSHFS на Вашем поле Windows для монтирования удаленного каталога по SSH.
Я изучил бы непрерывную интеграцию для Вашей среды. Таким образом, можно передать изменения в управлении исходным кодом и иметь действие поля Linux как сервер сборки. У Вас могут быть тесты связанный и другой связанный интересный материал, Вы хотите быть выполненными на сборках.
Обновление 1: Также это могло бы работать на Вас: http://metamod-p.sourceforge.net/cross-compiling.on.windows.for.linux.html (это также стоит попытки, делающей некоторые поиски на подобных инструментах),
Вы могли попытаться совместно использовать диск между своими машинами Linux и Windows с помощью Samba или чего-то как этот. Затем Вы могли отредактировать на своих локальных машинах, и файлы сразу будут видимы на удаленной машине, так как диск был бы видим обоим.
Где я работаю, у нас есть все файлы на NFS, который доступен от всех машин Linux и машин Windows. Я не знаю, как трудно это должно настроить это, так как я работаю в крупной корпорации, и IT абстрагирован далеко от меня, но простой диск, совместно использующий, должен быть довольно простым.
Это, конечно, выполнимо в энергии. Можно использовать scp://протокол в энергии, чтобы отредактировать удаленные файлы и настроить команду, которая пишет локальную копию. Можно также изменить то, для чего использует энергия программы: сделайте, чтобы сделать, ssh делает вместо этого на Вашем сервере.
Необходимо будет настроить ssh-ключи для хранения этого безболезненным (иначе, Вы будете вводить свой пароль все время), но это довольно легко.
Другая альтернатива должна была бы продвинуть к удаленному repos как часть Вашего делала команду, вместо того, чтобы редактировать удаленно.
Править:
Во-первых, использование scp://
протокол в энергии. От :help netrw-start
(или ниже на страницу от :help scp
)
Netrw поддерживает "прозрачное" редактирование файлов на других машинах с помощью URL (см. |netrw-прозрачный |). Как пример этого, давайте предположим, что у Вас есть учетная запись на некоторой другой машине; если можно использовать scp, попробуйте:
vim scp://hostname/path/to/file
Хотите сделать ssh/scp легче использовать? Проверьте |netrw-ssh-hack |!
Можно также использовать scp://
пути в :edit
команды, или действительно где угодно, что Вы могли использовать обычный тракт.
И, от упомянутого :help netrw-ssh-hack
, инструкции относительно того, как настроить Ваши ssh ключи:
УЛУЧШЕНИЕ ПРОСМОТРА *netrw-listhack * * netrw-ssh-hack* { {{ 2
Особенно с удаленным браузером каталога, постоянно вводя пароль утомительно.
Для систем Linux/Unix книга "Взломы Сервера Linux - 100 промышленных подсказок по силе и инструменты" Rob Flickenger (O'Reilly, ISBN 0-596-00461-3) дает подсказку для установки ssh без паролей и scp и обсуждает связанные проблемы безопасности. Это раньше было доступно по http://hacks.oreilly.com/pub/h/66, но по-видимому что адрес теперь перенаправляется к некоторому "hackzine". Я буду делать попытку сводки на основе той статьи и на коммуникации от Ben Schmidt:
(1) Генерируйте пару "открытый/закрытый ключ" на локальной машине (ssh клиент):
ssh-keygen -t rsa
(сохранить файл в ~/.ssh/id_rsa, как запрошено)
(2) Просто совершите нападки при просьбе относительно пароля (дважды) ни для какого пароля. При использовании пароля необходимо будет также использовать ssh-агент, таким образом, только необходимо будет ввести пароль однажды на сессию. Если Вы не будете использовать пароль, просто входя в систему, то Ваш локальный компьютер или получая доступ к файлу ключей всегда будет достаточен для доступа к любым ssh серверам, которые имеют тот ключ, авторизованный для входа в систему.
(3) Это создает два файла:
~/.ssh/id\_rsa ~/.ssh/id\_rsa.pub
(4) На целевой машине (ssh сервер):
cd mkdir -p .ssh chmod 0700 .ssh
(5) На Вашей локальной машине (ssh клиент): (одна строка)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys2' < ~/.ssh/id_rsa.pub
или, для OpenSSH, (одна строка)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys' < ~/.ssh/id_rsa.pub
Можно проверить его с
ssh {serverhostname}
и необходимо быть, входят в систему машина сервера без дальнейшей потребности ввести что-либо.
Если Вы решили использовать пароль, сделайте:
ssh-agent $SHELL ssh-add ssh {serverhostname}
Вам предложат Ваш ключевой пароль, когда Вы будете использовать, ssh-добавляют, но не впоследствии, когда Вы используете ssh. Для использования с энергией можно использовать
ssh-agent vim
и, когда затем в энергии, использовать
:!ssh-add
С другой стороны, можно применить ssh-агент к терминалу, в котором Вы являетесь планированием рабочей энергии:
ssh-agent xterm &
и действительно ssh-добавьте каждый раз, когда Вам нужно.
Для Windows люди в списке рассылки энергии упомянули, что Театрализованное представление помогает с предотвращением постоянной потребности ввести пароль.
Kingston Fung записал о другом способе постоянно стараться не должным быть ввести пароли:
Для предотвращения потребности ввести в пароле для scp каждый раз, когда Вы обеспечиваете взлом в документах для установки не пароля ssh учетная запись. Я нашел лучший способ сделать это: Я могу использовать обычную учетную запись ssh, которая использует пароль для доступа к материалу без потребности ввести пароль каждый раз. Это хорошо для безопасности и удобства. Я попробовал ssh авторизацию с открытым ключом + ssh-агент, реализовав это, и это работает! Вот две ссылки с инструкциями:
Для того, чтобы сделать в удаленных системах, необходимо установить Ваш makeprg
переменная, чтобы сделать ssh делает. От :help makeprg
Программа для использования для ": сделайте" команду. Посмотрите |: make_makeprg |. Эта опция может содержать '%' и '#' символы, которые расширены до текущего и альтернативного имени файла. |: _ % | |: _ # | Переменные среды расширены |: set_env |. Посмотрите |option-обратную-косую-черту | о включении пробелов и обратных косых черт.
Обратите внимание, что '|' должен быть оставлен дважды: однажды для ": набор" и однажды для интерпретации команды. Когда Вы используете фильтр, названный "myfilter", делают это как это:
:set makeprg=gmake\ \\\|\ myfilter
Заполнитель "$*" может быть дан (даже многократно) для определения, где аргументы будут включены, например:
:set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
Эта опция не может быть установлена от |modeline | или в |sandbox | из соображений безопасности.
Почему Вы запускаете X-сервер в Windows? Лично, я настроил бы VM Linux с VMware или независимо от того, что Ваша любимая технология VM (VMware свободен и работает хорошо). Затем выберите любой дистрибутив Linux, который Вы хотите. Вам просто нужны очень простые функции, главным образом стандартный "набор инструментальных средств". Вы могли выбрать Centos, Ubuntu, Fedora, Debian, безотносительно. Я обычно использую Centos или Debian. Настройте его и просто используйте PuTTY в Ваш VM. Оттуда, Вы можете scp файлы к своему удаленному серверу и т.д. Таким образом, Вы не должны беспокоиться cygwin или X-сервером или любым из этого.
Можно ли просто использовать долю самбы, чтобы сохранить файлы непосредственно на удаленной машине? Я часто делаю PHP этот путь.
Затем просто имейте окно шпаклевки, открытое для команд выполнения на удаленном поле.
Или я пропускаю что-то?
Установите систему управления исходным кодом и используйте ее. Затем можно просто сделать фиксацию после сохранения в IDE, и на сервере у Вас может быть что-то происходящее на фиксации.
Это может инициировать тесты, сборку, почта любые ошибки Вам...
Одно решение могло бы состоять в том, чтобы иметь своего рода приложение опроса, которое проверяет метку времени на файлах, чтобы видеть, изменились ли они. Если они имеют, затем заставляют это сохранять и затем компилировать. Вид hackish этот путь, но это было бы осуществимо.
Я лично использую XMing с PuTTY. Я ssh использование PuTTY, в то время как XMing работает. Я могу открыть любого редактора (gvim, emacs, gedit, и т.д.), и это появится.
Необходимо будет сделать некоторую установку на PuTTY хотя: