helm2004
Апрель 5, 2009 09:45:44
Доброго времени суток!
Подскажите пожалуйста простое приложение на pyQt4, чтоб когда нажимаешь на кнопку, то в текстовом или в метке выводило “прювет!!!”.
Спасибо
Andity
Апрель 5, 2009 09:57:40
В папке PyQt:
\examples\tutorial\
pythonwin
Апрель 6, 2009 07:34:25
helm2004
Апрель 6, 2009 08:27:12
Да смотрел я. Я просто не могу разобраться с этими сигналами. Что(какой слот) должен принимать принимающий класс или объект, чтоб в тексареа или в лейбле можно было написать “прювет” ?
pythonwin
Апрель 6, 2009 08:46:54
ты хоть попробовал примеры из \examples\tutorial\ или по ссылке которую я тебе дал?
$ python2.4
Python 2.4.6 (#2, Dec 20 2008, 15:02:30)
on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> # импортируем необходимые модули:
… import sys
>>> from PyQt4 import QtGui
>>> if __name__==“__main__”:
… # создаем объект Qt-приложения, передаем его конструктору
… # параметры командной строки:
… app = QtGui.QApplication(sys.argv)
… # создаем объект класса QLabel (метка), в конструкторе задаем подпись для метки:
… label = QtGui.QLabel(“Hello World!\n\tThis is the very simple example for PyQt4.”)
… # показываем метку:
… label.show()
… # запускаем цикл обработки событий, происходящих с элементами приложения:
… sys.exit(app.exec_())
…
у меня всё работает
helm2004
Апрель 6, 2009 09:51:42
А как сделать так чтоб когда нажимаешь на кнопку то в лейбле писало, то что ты захочешь?
helm2004
Апрель 6, 2009 11:54:52
Люди добрые!!!
Мы не местные!!! :))
есть такой код:
mport sys
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.resize(200, 120)
quit = QtGui.QPushButton(“Quit”, window)
label=QtGui.QLabel(“sadas”)
#spin.setText(“asddas”)
layout = QtGui.QHBoxLayout()
layout.addWidget(quit)
layout.addWidget(label)
window.setLayout(layout)
quit.setGeometry(10, 40, 180, 40)
text=“!!!!!”
QtCore.QObject.connect(quit, QtCore.SIGNAL(“clicked(text)”),label, QtCore.SLOT(“setText(text)”) )
window.show()
sys.exit(app.exec_())
как сделать так чтоб лейбле писало, то что в этой переменной text=“!!!!!”?
PooH
Апрель 6, 2009 13:21:37
Ну держите, но pythonwin прав, почитайте хоть что нибудь по теме. в таком духе вы много не напишите
import sys
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.resize(200, 120)
quit = QtGui.QPushButton("Quit", window)
label=QtGui.QLabel("sadas")
layout = QtGui.QHBoxLayout()
layout.addWidget(quit)
layout.addWidget(label)
window.setLayout(layout)
quit.setGeometry(10, 40, 180, 40)
text = '!!!!!'
def setText():
global text
label.setText(text)
QtCore.QObject.connect(quit, QtCore.SIGNAL("clicked()"), setText)
window.show()
sys.exit(app.exec_())
helm2004
Апрель 6, 2009 19:52:08
PooH Большое спасибо!!! То что дохтор прописал!
helm2004
Апрель 6, 2009 22:32:11
попытался развить предыдущее
# -*- coding: cp1251 -*-
from PyQt4 import QtCore,QtGui
import sys
class calc(QtGui.QWidget):
def __init__(self,*argv):
QtGui.QWidget.__init__(self,*argv)
self.setWindowTitle(u“Куркулятор”)
#add objects
textarea=QtGui.QLineEdit(“1”)
but1=QtGui.QPushButton(“1”,self)
layoult=QtGui.QHBoxLayout()
layoult.addWidget(textarea)
layoult.addWidget(but1)
self.setLayout(layoult)
self.connect(but1,QtCore.SIGNAL(“clicked()”),self.but1click)
def but1click(self):
print “u”
#text=textarea.text()
textarea.setText(“1”)
if __name__==“__main__”:
app=QtGui.QApplication(sys.argv)
cal=calc()
cal.show()
sys.exit(app.exec_())
получил ответ:
NameError: global name ‘textarea’ is not defined
можно спросить что здесь не так?
Спасибо!