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

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

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: [Пост] Автозапуск под маком  (Прочитано 19148 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #30 : Март 28, 2014, 11:29 »

теперь понял, спасибо. по-моему проще написать так:
Код
Objective-C
 
if (!alreadyRunning) {
NSString *path = [[NSBundle mainBundle] bundlePath], *contents = @"Contents/";
NSRange contentsRange = [path rangeOfString:contents options:NSBackwardsSearch];
NSString *mainAppPath = [[path substringToIndex:contentsRange.location + [contents length]] stringByAppendingString:@"MacOS/LaunchAtLoginApp"];
[[NSWorkspace sharedWorkspace] launchApplication:mainAppPath];
}

Попробую, вроде так действительно проще.

Та посмотрите же QPushButton::paintEvent - там виден выход в нативняк для отрисовки. В момент paintEvent у Вас на руках CGContextRef и NSView - ну и зовите нативную ф-цию рисования. А повторить самому все что OSX рисует - надорветесь.

Смотрю, да действительно есть выход в нативные ф-ции. Насколько понимаю кнопка отрисовывается в qmacstyle_mac.mm . Даже допустим, что везде в paintEvent я буду дергать нативные ф-ции отрисовки (хотя пока не совсем понимаю как это делать, ибо Qt хоть и рисует нативныеми функциями, но рисует свои кнопки, а не берет системные стили), мне придется переопределить все компоненты, с которыми я собираюсь работать, ради одной функции, как то КПД маловат будет.

Ну сказали тоже - ведь есть "themes" и их можно назначать из API.

Да, есть, вот как выглядит стандартный пример с темами мака

http://joxi.ru/uTA1UxjKTJAUMD-9h_c

а вот меню в QtCreator к примеру

http://joxi.ru/yTA1U_3JTJCPGQSv-ao

Далее скрины стандартных контролов мака

http://joxi.ru/4TA1U_3JTJD0c3lm_Zw
http://joxi.ru/HzE1U_3JTJCPGafCoDs
http://joxi.ru/LDE1U_3JTJBERdfqFPU

Для меня несоответствие на лицо. Даже если мы закрываем глаза на не совсем точные контролы CheckBox и GroupBox , то закрыть глаза на то, что лейбл во многих контролах не на месте, просто не возможно.

Ну сказали тоже - ведь есть "themes" и их можно назначать из API.

Хорошее решение, спорить с этим не буду и сам его применял в нескольких приложениях. Но как я уже сказал, для нашего продукта это не прокатило, и дело не в том, что дизайн плохой Улыбающийся Дизайнер отработал как нужно, основная притензия была в том, что не нативно.

Вообще если честно не совсем пойму чем спор вызван, пост то про автозагрузку. А уж ее стандартными средствами Qt вы не реализуете, если захотите отправить ваше приложение в App Store.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


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