crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Сделать курсор в виде перекрестья линий
QMainWindow
  опции профиля:
сообщение 25.1.2013, 18:35
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый вечер.
Нужно сделать курсор в виде перекрестья двух линий - горизонтальной и вертикальной определенной длины. Как такое вообще можно сделать?
Думал использовать QCursor, но потом встал встал вопрос: а сколько курсоров можно установить в виджет (там метод есть)? Мои вертикальная и горизонтальная линии - это два разных курсора.
Сделать собственноручный виджет в виде цветной линии и накрутить на него всякие moveEventы - по-моему это велосипед.
В общем, как подобное делается?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 25.1.2013, 18:59
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(QMainWindow @ 25.1.2013, 19:35) *
Нужно сделать курсор в виде перекрестья двух линий - горизонтальной и вертикальной
Мои вертикальная и горизонтальная линии - это два разных курсора.

Так тебе что надо? Один курсор в виде креста или два курсора? Что то ты мудришь, в документации для QCursor написано
Цитата
Qt has a number of standard cursor shapes, but you can also make custom cursor shapes based on a QBitmap, a mask and a hotspot.

Так что делаешь битмап рисуешь на нем крест и создаешь курсор. Откуда там 2 виджета?
Сам я курсоры не делал, поэтому точнее не скажу, но копать в эту сторону.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 25.1.2013, 20:04
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 1.8.2010
Пользователь №: 1922

Спасибо сказали: 0 раз(а)




Репутация:   0  


Курсором считается линия (горизонтальная или вертикальная). Таких курсоров на виджете может быть несколько. Вот и спрашиваю, если наследовать от QCursor, то можно будет как-нибудь все мои курсоры установить в виджет (setCursor())?

Тем более, как я понимаю, qcursor отвечает за внешний вид курсора. Навел на виджет, мышь превратилась во что-то. А если я хочу, чтобы курсор передвигался тогда, когда от зажата ЛКМ? (для наглядного представления - любой аудиоредактор - там когда дорожки редактируешь, используешь курсор в виде вертикальной линии)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 25.1.2013, 20:17
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(QMainWindow @ 25.1.2013, 21:04) *
Курсором считается линия (горизонтальная или вертикальная). Таких курсоров на виджете может быть несколько. Вот и спрашиваю, если наследовать от QCursor, то можно будет как-нибудь все мои курсоры установить в виджет (setCursor())?

Тем более, как я понимаю, qcursor отвечает за внешний вид курсора. Навел на виджет, мышь превратилась во что-то. А если я хочу, чтобы курсор передвигался тогда, когда от зажата ЛКМ? (для наглядного представления - любой аудиоредактор - там когда дорожки редактируешь, используешь курсор в виде вертикальной линии)


Забудь про QCursor, он просто картинка возле указателя мыши. Тебе надо запоминать координаты клика/отпускания мыши и перекрыв отрисовку в виджете, дорисовывать 2 линии.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.2.2025, 7:32