Найти - Пользователи
Полная версия: pyQt4. Простое приложение
Начало » Python для новичков » pyQt4. Простое приложение
1 2
helm2004
Доброго времени суток!
Подскажите пожалуйста простое приложение на pyQt4, чтоб когда нажимаешь на кнопку, то в текстовом или в метке выводило “прювет!!!”.
Спасибо
Andity
В папке PyQt:
\examples\tutorial\
pythonwin
helm2004, посмотри Программирование с PyQt4
helm2004
Да смотрел я. Я просто не могу разобраться с этими сигналами. Что(какой слот) должен принимать принимающий класс или объект, чтоб в тексареа или в лейбле можно было написать “прювет” ?
pythonwin
ты хоть попробовал примеры из \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
А как сделать так чтоб когда нажимаешь на кнопку то в лейбле писало, то что ты захочешь?
helm2004
Люди добрые!!!
Мы не местные!!! :))
есть такой код:

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
Ну держите, но 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
PooH Большое спасибо!!! То что дохтор прописал!
helm2004
попытался развить предыдущее

# -*- 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
можно спросить что здесь не так?
Спасибо!
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