Имитация события щелчка мыши в PyQt - PullRequest
5 голосов
/ 11 августа 2010

Я пытаюсь смоделировать событие щелчка мыши в Python на виджете ui.goButton.

Вот что я сделал:

QtTest.QTest.mouseClick(self.ui.goButton, QtCore.Qt.LeftButton)

Это правильный способ сделать это? Потому что это не работает.

1 Ответ

5 голосов
/ 12 августа 2010

На основании вашего ответа на комментарий я отвечу на ваш вопрос.

В основном сигналы могут быть испускаемыми by,

emit signalToBeEmitted()

Итак, если вы хотите испустить сигнал QPushButton clicked(),

вы должны унаследовать QPushButton, и вы можете испустить сигнал, подобный emit clicked().

Этот пример поможет вам в излучении сигналов.

Но мой вопрос, почему вы хотите это сделать?

Посылая сигнал clicked(), вы, в свою очередь, вызовете connect ed-слот. Так почему же вы не можете напрямую вызвать -слот вместо того, чтобы испустить сигнал и затем слот ..

Помните slots - это обычные функции , которые можно вызывать так же, как и другие функции.

Или, если слот присутствует в другом объекте, который вы будете подключать через сигнал, тогда испускает ваш собственный сигнал вместо того, чтобы связываться с заранее определенными.

ИМХО, Не испускайте такие заранее определенные сигналы даже на более короткий срок ..

Надеюсь, это поможет ..

Edit:

Упс, я не видел PyQt. Я привык к Qt с C ++. Я ничего не знаю о Python. Но я верю, что большинство понятий Qt останутся общими. Поэтому я оставлю свой ответ как таковой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...