Форум сайта python.su
Сильно не пинайте, только начал изучать пайтон и pyQT.
хочу чтоб по клику на кнопку Add текст из lineEdit записывался строкой в ListWidget.
но он добавляется СРАЗУ при генерации приложения, ДО клика мышью…
По клику на exit_but как и запланировано происходит выход.
Спасибо!
вот код
[/ import sys from PyQt4 import QtGui from PyQt4 import QtCore class Experiment(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self,parent) self.setWindowTitle('Experimental_app') self.resize(600,600) text_field = QtGui.QLineEdit(self) text_field.setGeometry(100,20,150,40) text_field.setText('bla') #this shows that with opening the appWindow # text was copied without clicking spisok = QtGui.QListWidget(self) spisok.setGeometry(70,100,300,300) spisok.addItem('da da da') #this shows that spisok.addItem is workable code add_but = QtGui.QPushButton('add',self) add_but.setGeometry(260,20,30,30) exit_but = QtGui.QPushButton('exit',self) exit_but.setGeometry(260,62,30,30) def Adding(): text_field.selectAll() global x x = text_field.text() spisok.addItem(str(x)) self.connect(add_but,QtCore.SIGNAL('clicked()'), QtCore.SLOT(Adding())) self.connect(exit_but,QtCore.SIGNAL('clicked()'), QtGui.qApp,QtCore.SLOT('quit()')) app = QtGui.QApplication(sys.argv) ew = Experiment() ew.show() sys.exit(app.exec_())]
Отредактировано VovanNone (Июнь 28, 2014 12:43:57)
Офлайн
Расставь отступы с помощью тега code.
[code python][/code]
Офлайн
отступы расставил.
Офлайн
VovanNoneтот код который ты прислал на форум ты скопируй себе - он же не работает
отступы расставил
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui from PyQt4 import QtCore class Experiment(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setWindowTitle('Experimental_app') self.resize(600, 600) self.text_field = QtGui.QLineEdit(self) self.text_field.setGeometry(100, 20, 150, 40) self.spisok = QtGui.QListWidget(self) self.spisok.setGeometry(70, 100, 300, 300) self.spisok.addItem( 'da da da') # это выпольняется сразу self.add_but = QtGui.QPushButton('add', self) self.add_but.setGeometry(260, 20, 80, 30) self.connect(self.add_but, QtCore.SIGNAL('clicked()'), self.Adding) self.exit_but = QtGui.QPushButton('exit', self) self.exit_but.setGeometry(260, 62, 80, 30) self.connect(self.exit_but, QtCore.SIGNAL('clicked()'), QtGui.qApp, QtCore.SLOT('quit()')) def Adding(self): ''' метод выполняется при нажатии add_but :return: ''' text = self.text_field.text() # читаем текст с LineEdit text = unicode(text) # если текст - кирилица self.spisok.addItem(text) # и добавляем его в ListWidget self.text_field.selectAll() # выделяем self.text_field.setFocus() # установливаем фокус app = QtGui.QApplication(sys.argv) ew = Experiment() ew.show() sys.exit(app.exec_())
Отредактировано vrabey (Июнь 28, 2014 17:57:23)
Офлайн