MotoFan.Ru — всё для Motorola > Устройства Motorola > Motorola на Linux OS > Motorola ROKR Z6, RIZR Z6, Z6w, RAZR² V8

Разработка софта под MOTOMAGX Полная версия
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

 no av ger-sergey

 15.2.2011, 11:14

Ant-ONЭто все я уже перепробовал, но оно работает только в пределах одного класса, а мне нужно менять subitem из любого места программы. По типу:
Код
Label1->setText( QString("Text"));
это работает с zLabel, а вот с zListBox у меня никак не получается.
Смысл всего этого такой: Есть программа, class CreatWindow создает окно с листбокс который читает информацию из конфига. В листбокс каждый item содержит два subitem, в первом название конфига во втором его значение. При KeyPressed на item вызывается class ChangeConfig который выполняет чтение конфига, изменение параметра и запись обратно в конфиг, После чего нужно во второй subitem вставить новый параметр, на чем я и встрял.

 av Ant-ON

 15.2.2011, 11:31

Цитата(ger-sergey @ 15.2.2011, 16:14) *

Смысл всего этого такой: Есть программа, class CreatWindow создает окно с листбокс который читает информацию из конфига. В листбокс каждый item содержит два subitem, в первом название конфига во втором его значение. При KeyPressed на item вызывается class ChangeConfig который выполняет чтение конфига, изменение параметра и запись обратно в конфиг, После чего нужно во второй subitem вставить новый параметр, на чем я и встрял.


Тут надо вспомнить (или почитать) про область видимости переменных.


где-то (скорее всего в файле .h в проекте) есть описание класа CreatWindow:

Код

class CreatWindow
{
public:
CreatWindow(...);
~CreatWindow();

...

//Вот тут надо описать все переменные, которые планируешь использовать по всему классу

}


Те переменные тебе нужно объявить не в самой функции, а в описании класса.

 no av ger-sergey

 15.2.2011, 11:37

Ant-ON Ich Blin! Не успел исправить, речь идет не о классах а о функциях.

 av Ant-ON

 15.2.2011, 14:29

Цитата(ger-sergey @ 15.2.2011, 16:37) *

Ant-ON Ich Blin! Не успел исправить, речь идет не о классах а о функциях.

Я про функции и говорил. Метод класса есть функция.

 no av ger-sergey

 15.2.2011, 15:26

Ant-ON Да перечислены у меня в .h все переменные.
Когда в функцию ChangeConfig вставляю:
listitem->setSubItem(1,0, QString("Text"), false, NULL);
listitem определяется, а вот setSubItem, KDevelop не понимает.
Хотя когда тоже самое ставлю в CreatWindow то все ок.
p.s. getSubItemText KDevelop понимает, а вот setSubItem ни как.

 av Ant-ON

 15.2.2011, 16:17

Цитата(ger-sergey @ 15.2.2011, 20:26) *

Ant-ON Да перечислены у меня в .h все переменные.
Когда в функцию ChangeConfig вставляю:
listitem->setSubItem(1,0, QString("Text"), false, NULL);
listitem определяется, а вот setSubItem, KDevelop не понимает.
Хотя когда тоже самое ставлю в CreatWindow то все ок.
p.s. getSubItemText KDevelop понимает, а вот setSubItem ни как.

На KDevelop в принципе всерано. Главное чтоб компилятор понял.

 no av ger-sergey

 15.2.2011, 16:22

Ant-ON
Уменя KDevelop умный(Ubuntu10.10+KDevelop4.5.1) если он чем недоволен, то либо при компиляции gcc ошибки выдает, либо все компилируется, но программа в этом месте тупо вылетает. Я же постоянно проверяю, а вдруг он ошибся.

 av Ant-ON

 15.2.2011, 17:35

Цитата(ger-sergey @ 15.2.2011, 21:22) *

Ant-ON
Уменя KDevelop умный(Ubuntu10.10+KDevelop4.5.1) если он чем недоволен, то либо при компиляции gcc ошибки выдает, либо все компилируется, но программа в этом месте тупо вылетает. Я же постоянно проверяю, а вдруг он ошибся.

Если можешь - выложи код. я поправлю и прокомментирую ошибку.

 no av ger-sergey

 15.2.2011, 17:55

Ant-ON
Вот! Это у меня черновик, по этому там много лишнего. К тому же собирал его из разных исходников (Мне как новичку во всем этом, так проще разобраться)

 no av ger-sergey

 16.2.2011, 14:50

Ant-ON
Что то до меня стало доходить!
Я к этому zListBox, изначально не правильно подъехал.
Сейчас сделал так:
Код

//В файле .h
private:
    ZListBoxItem* listitem1;
//В .cpp (CreatWindow)
    listitem1 = new ZListBoxItem ( timers, QString ( "%I%M%I" ) );
//В (timer1cfg)
    listitem1->setSubItem(2,0,QString("Timer1 "+mm1+"m:"+ss1+"s"),true,NULL);

Так в KDevelop нормально все подсвечивает, и компилится без ошибок.
Только ни чего не происходит. Пока играюсь с индексами, потом пойду дальше копать.

Попробовал добавить:
listitem1->update(true);
При компилировании выдает: /arm-eabi/lib/ezx-z6/include/ZListBox.h:51: ошибка: `void ZListItem::update(bool)' is protected


 av Ant-ON

 17.2.2011, 9:49

Цитата(ger-sergey @ 16.2.2011, 19:50) *

Код

//В файле .h
private:
    ZListBoxItem* listitem1;
//В .cpp (CreatWindow)
    listitem1 = new ZListBoxItem ( timers, QString ( "%I%M%I" ) );
//В (timer1cfg)
    listitem1->setSubItem(2,0,QString("Timer1 "+mm1+"m:"+ss1+"s"),true,NULL);

Так в KDevelop нормально все подсвечивает, и компилится без ошибок.
Только ни чего не происходит. Пока играюсь с индексами, потом пойду дальше копать

Так уже лучше. У класса ZListBox есть метод item(индекс элемента в списке), который можно использовать для получения n'ого элемента (нумерация элементов с 0).
ZListBoxItem* listitem = timers->item(n);
Если будет ругаться на типы, то возможно потребуется написать так:
ZListBoxItem* listitem = (ZListBoxItem*)timers->item(n);
Ещё setSubItem(2,0, ... ) У тебя 2 индек (%I%M%I) - %I (нумерация в си почти везде начинается с 0). %I - Image - Картинка - ты текст ей не присвоишь.
Цитата(ger-sergey @ 16.2.2011, 19:50) *

listitem1->update(true);

Так делать не надо. Если оч сильно нужно обновление, то обновлять надо listbox.
timers->update();

 no av ger-sergey

 17.2.2011, 10:09

Цитата(Ant-ON @ 17.2.2011, 17:49) *

Ещё setSubItem(2,0, ... ) У тебя 2 индек (%I%M%I) - %I (нумерация в си почти везде начинается с 0). %I - Image - Картинка - ты текст ей не присвоишь.

Вот это я то что называется: тупанул! Индексы расставил и все заработало!
Спасибо за помощь!

 av VINRARUS

 18.2.2011, 22:55

А както можно из фона приложение развернуть скриптом, или обязательно натив нужен?

 av Ant-ON

 20.2.2011, 8:41

Цитата(VINRARUS @ 19.2.2011, 3:55) *

А както можно из фона приложение развернуть скриптом, или обязательно натив нужен?

Нужен натив. Если что можешь попробовать поискать zTaskManMini (у меня исходников не осталось, как и бинаря). Передаешь ему в качестве параметра pid процесса и он разворачивает его, если это возможно...

 av Weaknespase

 20.2.2011, 9:50

Можно вырезать кусочек кода из обычного zTaskMan'a и завернуть в консольную утилитку. Размер получится микроскопический.

Ant-ON, есть вопрос по работе QT, статус-строка, которая обычно находится вверху (в диалогах и виджетах), это что за класс? Вкуриваю маны по тулкиту и попутно пилю zTaskMan, но все никак не пойму.

 av VINRARUS

 20.2.2011, 12:45

Цитата(Ant-ON @ Сегодня, 10:41)
* Нужен натив. Если что можешь попробовать поискать zTaskManMini (у меня исходников не осталось, как и бинаря). Передаешь ему в качестве параметра pid процесса и он разворачивает его, если это возможно...

Нашол для Е8, но телнет пишет
Код
/mmc/phone/zTaskManMini: error while loading shared libraries: libmedl.so: cannot open shared object file: No such file or directory

Может мог бы ты или либу ту сделать, или сделать аналогичную прогу для Z6, ну из таска выреж и допили пожалюста. clapping.gif

 av Ant-ON

 20.2.2011, 13:48

Цитата(Weaknespase @ 20.2.2011, 14:50) *

Ant-ON, есть вопрос по работе QT, статус-строка, которая обычно находится вверху (в диалогах и виджетах), это что за класс? Вкуриваю маны по тулкиту и попутно пилю zTaskMan, но все никак не пойму.

Я использовал ZHeader для добавления иконки в ту панель.
Как я это делал: http://code.google.com/p/zmessanger/source/browse/zgui.cpp

Цитата(VINRARUS @ 20.2.2011, 17:45) *

Может мог бы ты или либу ту сделать, или сделать аналогичную прогу для Z6, ну из таска выреж и допили пожалюста. clapping.gif

Забей все упоминания этой библиотеки в бинаре нолями (в hex). Наверника запустится.

 av VINRARUS

 20.2.2011, 21:02

Цитата(Ant-ON @ Сегодня, 15:48)
* Забей все упоминания этой библиотеки в бинаре нолями (в hex). Наверника запустится.

shok.gif Забил гдето 7 либ, и вправду запустилося и работает!!!
Крутой метод! grin.gif А зачем тогда там лишние либы прописанны?

 av Weaknespase

 21.2.2011, 14:24

Цитата(VINRARUS @ 20.2.2011, 21:02) *

Цитата(Ant-ON @ Сегодня, 15:48)
* Забей все упоминания этой библиотеки в бинаре нолями (в hex). Наверника запустится.

shok.gif Забил гдето 7 либ, и вправду запустилося и работает!!!
Крутой метод! grin.gif А зачем тогда там лишние либы прописанны?

Они не лишние, они "на всякий случай". Чтобы потом после очередной правки полчаса не глядеть на мат компилятора.

 av RYORUS

 27.7.2011, 17:19

Здрасьте smile.gif

Я может не в ту тему лезу но все таки:

У меня нет линукса и нет SDK sorry.gif а вы я вижу разбираетесь в кодах.

Помогите: нужно как-то указать программе на файл который лежит в папке установки (чтобы файл открыла)

Файл - звук в формате wav.

Помогите? cry.gif helpsmilie.gif
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

Полная версия:


MotoFan.ru (©) 2024    Слушать Radio