Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 5, 2009 09:45:44

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

Доброго времени суток!
Подскажите пожалуйста простое приложение на pyQt4, чтоб когда нажимаешь на кнопку, то в текстовом или в метке выводило “прювет!!!”.
Спасибо

Офлайн

#2 Апрель 5, 2009 09:57:40

Andity
От:
Зарегистрирован: 2008-02-22
Сообщения: 63
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

В папке PyQt:
\examples\tutorial\



Офлайн

#3 Апрель 6, 2009 07:34:25

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

helm2004, посмотри Программирование с PyQt4



Офлайн

#4 Апрель 6, 2009 08:27:12

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

Да смотрел я. Я просто не могу разобраться с этими сигналами. Что(какой слот) должен принимать принимающий класс или объект, чтоб в тексареа или в лейбле можно было написать “прювет” ?

Офлайн

#5 Апрель 6, 2009 08:46:54

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

ты хоть попробовал примеры из \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_())
у меня всё работает



Офлайн

#6 Апрель 6, 2009 09:51:42

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

А как сделать так чтоб когда нажимаешь на кнопку то в лейбле писало, то что ты захочешь?

Офлайн

#7 Апрель 6, 2009 11:54:52

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

Люди добрые!!!
Мы не местные!!! :))
есть такой код:

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=“!!!!!”?

Офлайн

#8 Апрель 6, 2009 13:21:37

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

Ну держите, но 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_())



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#9 Апрель 6, 2009 19:52:08

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

PooH Большое спасибо!!! То что дохтор прописал!

Офлайн

#10 Апрель 6, 2009 22:32:11

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

pyQt4. Простое приложение

попытался развить предыдущее

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

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version