Найти - Пользователи
Полная версия: Простой пример - Кнопка и функция, помогите разобраться со слотом.
Начало » GUI » Простой пример - Кнопка и функция, помогите разобраться со слотом.
1
spensor47
Доброе время суток, питонеры.

Недавно начал юзать PyQt4. Красивая штука - легко можно всё накидать… а вот соеденить кнопки и функции пока не могу. Помогите разобраться(если можно по подробнее) в одном примере.

Итак, что у меня есть:

1. кнопка сделанная в PyQt4 и сохранена в файле proba11.py
2.файл l2.py - в котором содержится функция по редактированию изображения

Содержание файла proba11.py:
# -*- coding: utf-8 -*-

from PyQt4 import QtCore, QtGui

try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(204, 71)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(20, 10, 171, 23))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 204, 20))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("MainWindow", "prognoz55", None, QtGui.QApplication.UnicodeUTF8))

if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Содержание файла l2.py:
# -*- coding: cp1251 -*-
import Image
import time
import os
def action(self):
today = time.strftime('%Y%m%d')
name = (today + 'apf10754' +'.gif')
if os.path.exists('D:\\' + name) is True:
im1 = Image.open("d:\\" + name)
im2 = im1.resize((700, 400), Image.BILINEAR)
im2.save("c:\\" + name)
print u'Размер изображения 700х400...'
print u'Изображение отправлено на сервер...'
else:
print u'Нет такого файла!!!'
print u'Создайте файл и запустите программу снова...'
Помогите правильно написать систему СИГНАЛ-СЛОТ, чтобы при нажатии кнопки у меня запускалась функция из файла l2.py

Заранее спасибо!!!
Респект Гвидо и всем питонерам!
spensor47
ну тогда может помогите как записать систему СИГНАЛ-СЛОТ для этой функции если её поместить в файл proba11.py
# -*- coding: utf-8 -*-

from PyQt4 import QtCore, QtGui
import Image
import time
import os

try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(204, 71)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.pushButton = QtGui.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(20, 10, 171, 23))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 204, 20))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("MainWindow", "prognoz55", None, QtGui.QApplication.UnicodeUTF8))

def action(self):
today = time.strftime('%Y%m%d')
name = (today + 'apf10754' +'.gif')
if os.path.exists('D:\\' + name) is True:
im1 = Image.open("d:\\" + name)
im2 = im1.resize((700, 400), Image.BILINEAR)
im2.save("c:\\" + name)
print u'Размер изображения 700х400...'
print u'Изображение отправлено на сервер...'
else:
print u'Нет такого файла!!!'
print u'Создайте файл и запустите программу снова...'

if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
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