Russian Qt Forum
Ноябрь 26, 2024, 08:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 4 5 [6] 7   Вниз
  Печать  
Автор Тема: Контекстное меню и QAction  (Прочитано 38321 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #75 : Июнь 20, 2013, 12:09 »

Так, что в очередной раз метод "От динозавра к зародышу" работает стабильно и эффективнее.
Да, но при таком направлении эволюции конечным результатом будет зародыш  Улыбающийся
Записан
Spark
Гость
« Ответ #76 : Июнь 20, 2013, 14:31 »

Да, но при таком направлении эволюции конечным результатом будет зародыш  Улыбающийся
Это если путать процесс эволюции с процессом познания. Довольно таки скучно начинать с винтиков. Интереснее разобрать механизм и посмотреть как он устроен. Конечно сейчас я передвигаю блоки и доволно не плохо получается. Затем постепенно по мере необходимости блоки на кирпичики поделим. В общем то и сейчас это уже делаю. Конечно же свой виджет я пока не напишу (или напишу Улыбающийся). Но пока хватает того материала который есть.
Записан
Bepec
Гость
« Ответ #77 : Июнь 20, 2013, 14:43 »

Самое распространённое заблуждение. Особенно хорошо оно "чувствуется" в электронике.
Когда маааленькая ошибочка приводит к полному выгоранию платки Веселый

ЯП просто сглаживает неприятные моменты.
Записан
Spark
Гость
« Ответ #78 : Июнь 20, 2013, 16:18 »

Ладно. Каждый учится как ему хочется.

По делу.
В mainwindov.cc записал такую строчку:
Код:
ui.paneWidget->Label.setText( text );
Здесь пришлось вставить, поскольку моя функция меняет конфигурационный файл и синхронно эта метка должна поменяться.

Сама же метка Label описана в файле panewidget.cc

Компилятор ругнулся, что мол в приватной зоне метка.
Я просто в файле panewidget.hh   QLabel Label; прописал в public:.

Ничего страшного не произошло и вроде как работает. Но вот приложение как то тормозит при закрытии. Иконка довольно долго не пропадает с трэя.

Что я делаю не так? И как правильнее? Понимаю, что информации мало. Но может для специалистов мои ошибки очевидны? Тормозить начинает именно когда QLabel Label; прописываю в public:. Если не прописать, то закрывается приложение быстро. Но Label виджета меняется только при перезапуске приложения (собственно оно и понятно).
« Последнее редактирование: Июнь 20, 2013, 16:22 от Spark » Записан
Bepec
Гость
« Ответ #79 : Июнь 20, 2013, 16:44 »

С учетом размера вашей темы, там может быть крокодил, кушающий кролика Веселый

Моё мнение - хочешь помощи, код в студию. Не хочешь - играешь в телепатов.
Записан
Spark
Гость
« Ответ #80 : Июнь 20, 2013, 16:54 »

Код нет особого смысла давать. Это слишком много и в разных листинга (вряд ли будет желание разбираться досконально). Программа вовсе не для новичков.

Но хотя бы знать если я просто так грубо перевел QLabel Label; из private: в public: в этом нет ничего такого слишком грубого Улыбающийся? Может есть другой способ опубликовать эту метку в mainwindow.cc?
Записан
Bepec
Гость
« Ответ #81 : Июнь 20, 2013, 17:10 »

Нет смысла давать советы. Это слишком много и в разных листинга (вряд ли будет желание разбираться досконально). Совет вовсе не для новичков.

PS никак не должен тормозить QLabel.
Записан
Spark
Гость
« Ответ #82 : Июнь 20, 2013, 17:21 »

PS никак не должен тормозить QLabel.
На этом тоже спасибо. Окно приложения закрывается без тормозов. А вот иконка в трэе висит ощутимо дольше. Даже если ничего не правлю в mainwindow.cc. Но если эту метку опубликовать, то вот такая ерунда. По другому к ней нельзя никак доступиться (если с привата не убирать)?
Что ж будем самостоятельно разбираться или оставим пока как есть Улыбающийся. Страшного в общем то ничего нет.
Записан
Bepec
Гость
« Ответ #83 : Июнь 20, 2013, 17:25 »

Я тут почитал вашу тему Веселый

По-моему было бы проще полностью переписать вашу программу, избавившись от "много листинговости" и провести ревизию необходимого функционала.

Но это - совет.

PS "вопрос + код" = быстрый и четкий ответ. "вопрос" = телепатияяяя Веселый
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #84 : Июнь 20, 2013, 17:25 »

тут уже и догадаться можно было:
Код
C++ (Qt)
public:
   QLabel &getLabel() const { return Label; }
private:
   QLabel Label;

перевод переменной из одной области видимости в другую никак не может повлиять на производительность.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Spark
Гость
« Ответ #85 : Июнь 20, 2013, 19:46 »

перевод переменной из одной области видимости в другую никак не может повлиять на производительность.
Тем не менее иконка начинает тормозить в трее.
В panewidget.hh опубликован слот:
Код:
public slots:
  void updateLabel();
Как понял он меняет состояние метки на виджете. На сколько понимаю можно его использовать. Как это сделать правильно?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #86 : Июнь 20, 2013, 20:04 »

перевод переменной из одной области видимости в другую никак не может повлиять на производительность.
Тем не менее иконка начинает тормозить в трее.
ну так воспользуйся кодом, который я тебе написал в предыдущем сообщении.
В panewidget.hh опубликован слот:
Код:
public slots:
  void updateLabel();
Как понял он меняет состояние метки на виджете. На сколько понимаю можно его использовать. Как это сделать правильно?
найди себе друзей-телепатов. а лучше пойди поучи язык. уже реально надоело.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #87 : Июнь 20, 2013, 20:05 »

+1.

PS заношу ник в свой чОрный список и без полного проекта, приложенного к вопросу отвечать отказываюсь Подмигивающий Ариведерчи.
Записан
Spark
Гость
« Ответ #88 : Июнь 20, 2013, 20:10 »

Ok! Извините. Устал я.
Записан
Spark
Гость
« Ответ #89 : Июнь 20, 2013, 21:19 »

ну так воспользуйся кодом, который я тебе написал в предыдущем сообщении.
Помогло.
Для меня многие вещи не очевидны. Поэтому сразу не получалось. А там уже метод проб и ошибок.
Так не  идет:
Код:
    QLabel &getLabel() const { return Label; }
Так идет:
Код:
    QLabel &getLabel() { return Label; }
Еще раз спасибо за терпение.
Записан
Страниц: 1 ... 4 5 [6] 7   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 23.