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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как использовать из Qt скриптов стандартные Qt enum-ы (перечисления)  (Прочитано 8586 раз)
Sasha
Гость
« : Январь 27, 2014, 14:31 »

Здравствуйте,
Например, я хочу проверить является ли стиль кнопки стилем Qt::ToolButtonIconOnly. В C++ коде я напишу:
Код
C++ (Qt)
if( btnStyle==Qt::ToolButtonIconOnly )
  ...
 
Как мне то же самое проделать в скрипте? Т.е. откуда взять это самое ToolButtonIconOnly?
Записан
carrygun
Гость
« Ответ #1 : Январь 28, 2014, 04:33 »

Посмотреть в таблице шестнадцатеричное значение переменной.
Записан
Sasha
Гость
« Ответ #2 : Январь 28, 2014, 12:22 »

Посмотреть в таблице шестнадцатеричное значение переменной.
Не понял. Или это прикол?
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Январь 28, 2014, 12:49 »

Не понял.
http://qt-project.org/doc/qt-5.0/qtcore/qt.html#ToolButtonStyle-enum
Записан
Sasha
Гость
« Ответ #4 : Январь 28, 2014, 17:01 »

И что?
Или вы имеете ввиду что в скриптах использовать просто численное значение? Тогда непонятно зачем carrygun советовал шестнадцатеричное значение смотреть и непонятно в какой таблице. Или, опять же, он имел ввиду что просто посмотреть в описание конкретного enum-а.
Если всё так, то это понятно, но вопрос то в ДРУГОМ. Как мне в скрипте использовать слово ToolButtonIconOnly. Наверно я просто не так выразился в вопросе. Например, я вначале думал, что можно вместо
Код
C++ (Qt)
Qt::ToolButtonIconOnly
 
просто написать:
Код
C++ (Qt)
Qt.ToolButtonIconOnly
 
но так не работает.
Записан
carrygun
Гость
« Ответ #5 : Январь 29, 2014, 05:01 »

Код
Javascript
var ToolButtonStyle = new Object();
ToolButtonStyle.ToolButtonIconOnly = 0;
...
 
if (flags & ToolButtonStyle.ToolButtonIconOnly) {...
 
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #6 : Январь 29, 2014, 19:50 »

Qt.AlignLeft, Qt.AlignHCenter ... вполне работает
Записан
Sasha
Гость
« Ответ #7 : Февраль 03, 2014, 10:30 »

Код
Javascript
var ToolButtonStyle = new Object();
ToolButtonStyle.ToolButtonIconOnly = 0;
...
 
if (flags & ToolButtonStyle.ToolButtonIconOnly) {...
 
Это ж тоже не очень хорошо. Вдруг в новой версии Qt значение enum-а поменяется.
Записан
Sasha
Гость
« Ответ #8 : Февраль 03, 2014, 10:53 »

Qt.AlignLeft, Qt.AlignHCenter ... вполне работает

Это уже интересно... А это точно в скрипте, а не в QML? Если в скрипте, то какая версия Qt? У меня 4.8.0. и при попытке такого использования пишет "ReferenceError: Can't find variable: Qt"
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #9 : Февраль 05, 2014, 14:45 »

В скрипте  Улыбающийся, QT 4.8.4, правда загружены еще расширения qt.core и qt.xml от Script Generator'а

Записан
Sasha
Гость
« Ответ #10 : Февраль 07, 2014, 10:57 »

В скрипте  Улыбающийся, QT 4.8.4, правда загружены еще расширения qt.core и qt.xml от Script Generator'а


Наверное всё дело в "...расширения qt.core и qt.xml от Script Generator'а". Script Generator - это о котором написано, например, в http://filonenko-mikhail.blogspot.in/2010/07/qtscriptgenerator.html ?
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #11 : Февраль 07, 2014, 11:46 »

Да, он самый.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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