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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Смена курсора мыши по нажатию на кнопку  (Прочитано 7513 раз)
Genri
Гость
« : Февраль 14, 2011, 19:50 »

Здравствуйте участники форума! Мне дано задание: сделать модуль для QGIS на языке Python. Подзадача стоит такая, когда пользователь нажимает на кнопку
Код
Python
self.One.setStatusTip( QCoreApplication.translate( "MCCDG", "Calculation of one object") )
QObject.connect( self.One, SIGNAL( "triggered()" ), self.doOne )
self.menu.addAction(self.One)
я ссылаюсь на другой файл в папке
Код
Python
def doOne( self ):
from tools.doOne import MCCDGDialog as One
d = One( self.iface )
d.show_()
и мне необходимо при нажатии на кнопку заменить стандартный курсор на  Qt::CrossCursor.
Прошу помочь мне в решении данной проблемы.
« Последнее редактирование: Февраль 15, 2011, 06:30 от Genri » Записан
shirushizo
Гость
« Ответ #1 : Февраль 14, 2011, 19:56 »

Попробуйте эти методы:
Код:
void QApplication::setOverrideCursor ( const QCursor & cursor )   [static]
void QApplication::changeOverrideCursor ( const QCursor & cursor )   [static]
void QApplication::restoreOverrideCursor ()   [static]

void QWidget::setCursor ( const QCursor & )
void QWidget::unsetCursor ()
Записан
Genri
Гость
« Ответ #2 : Февраль 15, 2011, 06:31 »

Прошу выложить хотя бы плюшевый примерчик, потому что так я уже пробовал, не получается.
Записан
santaclaus
Гость
« Ответ #3 : Февраль 15, 2011, 21:16 »

Прошу выложить хотя бы плюшевый примерчик, потому что так я уже пробовал, не получается.
ну привяжи еще один слот к кнопке в духе:

Код:
connect(mybutton, SIGNAL(clicked()), myWidget, SLOT(slotChangCursor())); //зацепляешь событие нажатия кнопки к слоту смены курсора для QWidget

void MyWidget::slotChangCursor() // ну и сам слот который ставит нужный курсоа
{
    setCursor(Qt::ArrowCursor)
}
Записан
Genri
Гость
« Ответ #4 : Февраль 17, 2011, 17:07 »

Что такое MyWidget?
И где у меня ошибка?
Код
Python
QObject.connect(self.One, SIGNAL ("clicked()" ),myWidget, SLOT(slotChangCursor()))
Код
Python
class A:
 def myWidget( self,MyWidget ):
  void MyWidget::slotChangCursor()
   {
    setCursor(Qt::CrossCursor)
   }
Записан
Genri
Гость
« Ответ #5 : Февраль 22, 2011, 21:46 »

Форумчане отзовитесь!
Записан
shirushizo
Гость
« Ответ #6 : Февраль 23, 2011, 08:51 »

В питоне не разбираюсь.
1. myWidget - объект класса, в котором определен слот slotChangCursor().
2. SIGNAL ("clicked()" ) - сигнал без без кавычек должен быть
3. Чтобы были слоты нужно наследоваться от QObject или его наследников
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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