How do I present 1 string per page?? (PyQt/Python) -


i trying write code allows me present 1 questions per page (without opening new windows). wanted know how alter code below allow me this??

import sys pyqt4 import qtcore, qtgui  class starttest(qtgui.qmainwindow):     def __init__(self, parent=none):         super(starttest, self).__init__(parent)         self.central_widget = qtgui.qstackedwidget()         self.setcentralwidget(self.central_widget)         qpage = question(self)         self.central_widget.addwidget(qpage)         self.central_widget.setcurrentwidget(qpage)  class question(qtgui.qwidget):     def __init__(self, label, parent=none):         super(question, self).__init__(parent)         label = question1         question = qtgui.qlabel(label)         self.proceed = qtgui.qpushbutton('proceed')         self.answer = qtgui.qlineedit(self)         layout = qtgui.qformlayout()         layout.addrow(question, self.answer)         layout2 = qtgui.qvboxlayout()         layout2.addlayout(layout)         layout2.addwidget(self.proceed)         self.setlayout(layout2)         self.proceed.clicked.connect(self.nextq)     def nextq(self):         answer = self.answer.text()         studentans.append(answer)         label = question2 studentans = [] question1 = 'what 5+5?' question2 = 'what 45+10?'  if __name__ == '__main__':     user = ''     app = qtgui.qapplication([])     window = starttest()     window.showfullscreen()     app.exec_() 

this should give idea of how structure program:

import sys pyqt4 import qtcore, qtgui  class starttest(qtgui.qmainwindow):     def __init__(self, questions, parent=none):         super(starttest, self).__init__(parent)         self.stack = qtgui.qstackedwidget(self)         self.setcentralwidget(self.stack)         index, question in enumerate(questions):             page = question(question, self)             page.submit.clicked[()].connect(                 lambda index=index: self.handlesubmit(index))             self.stack.addwidget(page)         self.answers = []      def handlesubmit(self, index):         page = self.stack.widget(index)         answer = page.answer.text()         # validate submitted answer...         self.answers.append(answer)         if index < self.stack.count() - 1:             self.stack.setcurrentindex(index + 1)  class question(qtgui.qwidget):     def __init__(self, question, parent=none):         super(question, self).__init__(parent)         self.question = qtgui.qlabel(question, self)         self.answer = qtgui.qlineedit(self)         self.submit = qtgui.qpushbutton('submit', self)         form = qtgui.qformlayout()         form.addrow(self.question, self.answer)         layout = qtgui.qvboxlayout(self)         layout.addlayout(form)         layout.addwidget(self.submit)  if __name__ == '__main__':     user = ''     app = qtgui.qapplication([])     questions = [         'what 5+5?',         'what 45+10?',         'what 28+47?',         'what 22+13?',         ]     window = starttest(questions)     window.showfullscreen()     app.exec_() 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -