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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: QtDockTile - кроссплатформенный док  (Прочитано 19990 раз)
andrew.k
Гость
« Ответ #15 : Январь 08, 2012, 20:56 »

Код
C++ (Qt)
NSString *cocoaString = [[NSString alloc] initWithUTF8String:utf8String];
   [[NSApp dockTile] setBadgeLabel:cocoaString];
   [cocoaString release];
А что это вообще за код такой в квадратных скобках?

По-моему я такой видел только в билдеровских хедерах когда-то давно.
Это вообще что и с чем?
Записан
Gorthauer
Гость
« Ответ #16 : Январь 08, 2012, 20:59 »

Это objective C, синтаксис посылки сообщения, это нечто в духе emit.
Записан
BRE
Гость
« Ответ #17 : Январь 08, 2012, 21:03 »

Fixed.
Отправить что ли троллям патч. А то и там и там банальная невнимательность и везение %) Нда... иногда таки бывают грабли даже если берёшь код казалось бы из хорошего и проверенного источника и априори ему доверяешь не вчитываясь)
Подожди с патчем.
А как это у них выглядит?

Если так:
Код
C++ (Qt)
func( str.toUtf8().constData() );
 
то это вполне валидный код.
Записан
andrew.k
Гость
« Ответ #18 : Январь 08, 2012, 21:08 »

Это objective C, синтаксис посылки сообщения, это нечто в духе emit.

Это можно прямо в коде С++ использовать? И для чего это?
Можешь ссылкой какой-нибудь кинуть, почитаю. Пока читаю вики.
Я думал objective-C это какой-то отдельный язык.
Записан
Gorthauer
Гость
« Ответ #19 : Январь 08, 2012, 21:15 »

Fixed.
Отправить что ли троллям патч. А то и там и там банальная невнимательность и везение %) Нда... иногда таки бывают грабли даже если берёшь код казалось бы из хорошего и проверенного источника и априори ему доверяешь не вчитываясь)
Подожди с патчем.
А как это у них выглядит?

Если так:
Код
C++ (Qt)
func( str.toUtf8().constData() );
 
то это вполне валидный код.


Там именно так как у меня было выглядит, строчка в строчку, а у меня теперь наоборот как раз func( str.toUtf8().constData() );

Цитировать
Это можно прямо в коде С++ использовать? И для чего это?
Можешь ссылкой какой-нибудь кинуть, почитаю. Пока читаю вики.
Я думал objective-C это какой-то отдельный язык.
Тут всё хитрее, есть диалект objective C++, который призван склеивать С++ и objective C части. Расширение у таких творений mm и юзать их вне Макоси весьма затруднительно, я не уверен, что на GNUStep'е оно взлетит.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4729



Просмотр профиля WWW
« Ответ #20 : Январь 08, 2012, 21:26 »

Это objective C, синтаксис посылки сообщения, это нечто в духе emit.
вообще-то это просто вызов метода, хоть и называется "отсылкой сообщения". а [obj release] - это что-то типа плюсового delete obj.

"нечто в духе emit" - это [[NSNotificationCenter defaultCenter] postNotificationName:@"myNotificationName"]
Записан

Изучением 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
Gorthauer
Гость
« Ответ #21 : Январь 08, 2012, 21:52 »

emit это тоже вызов метода Улыбающийся
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4729



Просмотр профиля WWW
« Ответ #22 : Январь 08, 2012, 21:56 »

postNotificationName:, как и emit, тоже вызывает метод, но ведь не напрямую
Записан

Изучением 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
Gorthauer
Гость
« Ответ #23 : Январь 08, 2012, 22:06 »

а emit обычно напрямую Улыбающийся Если не стоит queued connection.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4729



Просмотр профиля WWW
« Ответ #24 : Январь 08, 2012, 22:32 »

нет, под "напрямую" я подразумеваю, что ты же не пишешь Obj.method() при эмите Улыбающийся

а так да - центр уведомлений тоже "заставляет" всех подписавшихся объектов вызвать свой метод мгновенно
Записан

Изучением 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
Gorthauer
Гость
« Ответ #25 : Январь 09, 2012, 02:04 »

Тем не менее, никто не запрещает так делать, сигналы - это же по сути обычные protected методы, для френдов они прекрасно вызываются.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #26 : Январь 10, 2012, 11:41 »

Делать было нечего, собрал. Как ожидалось, инструкция по сборке неверная - вы забыли cd build -_-
Тестил на мак ос лион.
Без инстолла док тоже не пашет (что, впрочем ожидаемо, но хотелось бы уведомление)
Не пашет алерт (он же прыгать должен?). Шрифт бэджа какой-то угловатый; хотя цифры ок. Прогресс ок, меню тоже вроде работает.
« Последнее редактирование: Январь 10, 2012, 13:51 от Авварон » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #27 : Январь 10, 2012, 13:49 »

А, меню тоже не пашет - при открытии того меню, что в окне, меню из дока удаляется.
Записан
Gorthauer
Гость
« Ответ #28 : Январь 11, 2012, 23:42 »

Хм... ща подправлю тогда описание. Но насчет меню и бейджа, то в первом случае юзается qtшный метод и баг соответственно кутишный, а во втором случае я как раз тот метод применяю, который тут обсуждался и просто посылаю доку сообщение с текстом в бейдже.
А насчет алерта не понятно, вроде и должен пахать, но почему-то не пашет.
Записан
Gorthauer
Гость
« Ответ #29 : Февраль 11, 2012, 15:51 »

Тестим первую бету! И кто может, голосуйте на qt-apps!
http://qt-apps.org/content/show.php/QtDockTile?content=148668
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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