Название: Как установить иконки действий для QTextEdit? Отправлено: gil9red от Декабрь 13, 2013, 19:52 В теме под "действиями" имеются ввиду qactions, которые видны при вызове контекстного меню :)
Название: Re: Как установить иконки действий для QTextEdit? Отправлено: kambala от Декабрь 13, 2013, 20:31 наверное только если свое меню делать, вряд ли можно получить доступ к стандартному. наследуешься и переопределяешь createStandardContextMenu().
Название: Re: Как установить иконки действий для QTextEdit? Отправлено: gil9red от Декабрь 13, 2013, 21:11 Посмотрел исходники и нашел класс, который и создает менюшку QTextEdit: тык! (http://code.woboq.org/qt5/qtbase/src/widgets/widgets/qwidgettextcontrol.cpp.html#_ZN18QWidgetTextControl25createStandardContextMenuERK7QPointFP7QWidget)
Вот если бы можно было поместить свои иконки в "тема" (theme) и назвать их как их аналоги (edit-*) :) Название: Re: Как установить иконки действий для QTextEdit? Отправлено: Old от Декабрь 13, 2013, 21:30 Вот если бы можно было поместить свои иконки в "тема" (theme) и назвать их как их аналоги (edit-*) :) Попробуйте:void QIcon::setThemeSearchPaths ( const QStringList & paths ) [static] Название: Re: Как установить иконки действий для QTextEdit? Отправлено: gil9red от Декабрь 13, 2013, 21:39 У меня винда, так что не получится :)
Название: Re: Как установить иконки действий для QTextEdit? Отправлено: kambala от Декабрь 13, 2013, 22:58 а если как-то так?
Код
Название: Re: Как установить иконки действий для QTextEdit? Отправлено: gil9red от Декабрь 13, 2013, 23:58 То, что нужно!
Только можно и другой метод переопределить :) С определением экшенов проблемка - text() возвращает полное имя, например, "Вырезать Ctrl+X" Пытался вернуть тему иконок у экшена, предполагая, что может вернется "edit-cut" - не получилось Попробовал смотреть комбинации (shortcut) и по комбинациям определять какую иконку подсовывать - комбинации пустые возвращаются Можно так попробовать, но это хардкор :) Код
Название: Re: Как установить иконки действий для QTextEdit? Отправлено: kambala от Декабрь 14, 2013, 00:20 я думаю лучше все-таки переопределять именно createStandardContextMenu() (или его перегрузку с параметром), а обработку события контекстного меню оставить дефолтной
|