Найти - Пользователи
Полная версия: Помогите с сигналами и событиями
Начало » Python для новичков » Помогите с сигналами и событиями
1
PretendeR
Доброго времени суток!
Начал учил питон. Щас пытаюсь элементарно написать простой блокнот на нём используя PyQt
Но вот столкнулся с проблемой как в обработчик сигналов засунуть собственную функцию?

Пример того что делаю:

# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui, uic
import sys
app = QtGui.QApplication(sys.argv)
window = uic.loadUi("MyForm.ui")
def writeToFile(text):
    f1 = open("text.txt", 'w')
    f1.write(text)
# MENU BUTTONS
SaveText = window.action_1
SaveText.setShortcut('Ctrl+S')
QtCore.QObject.connect( SaveText, QtCore.SIGNAL('triggered()'), writeToFile('ok') ) # Не получается свою функцию запихнуть
SaveAs = window.action_2
SaveAs.setShortcut('Ctrl+Shift+S')
SaveAs.triggered.connect(QtGui.qApp.quit)
CloseWindow = window.action_3
CloseWindow.setShortcut('Esc')
CloseWindow.triggered.connect(QtGui.qApp.quit)
window.show()
sys.exit(app.exec_())

Вот в меню окна используется событие triggered() а не clicked() как для кнопки
Пробовал и так:
QtCore.QObject.connect( SaveText, QtCore.SIGNAL('triggered()'), writeToFile('ok') )
И так:
QtCore.QObject.connect(SaveText, QtCore.SIGNAL("triggered()"), QtCore.SLOT("writeToFile('ok')"))
И все равно выкидывает исключения.
Уже прогуглил всё, и все методы которые в мануалах и примерах дают перепробовал, не получается
К примеру если делать просто закрытие окна так:
QtCore.QObject.connect( SaveText, QtCore.SIGNAL('triggered()'), QtGui.qApp.quit )
То все пашет, окно закрывается, а как туда же впихнуть свою функцию не понимаю
PretendeR
Спасибо, помогло
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB