<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hello Vojtech<br>
      <br>
      Impressive what you are able to do!!! I can't find my bugs with
      good eyes and have no idea how one would find them without seeing
      the code. I changed a few things in your file and hope, the
      resulting solution fits your needs:<br>
      <br>
      - fixed rowCount of your sudoku (was 10, now 9)<br>
      - overwrote QPushButton and QSpinBox to store their index and to
      implement custom keyPressEvent behaviour<br>
      - navigate using arrows, start editing by hitting enter or return.
      <br>
      - change value of the spinbox using arrows, finish editing by
      hitting enter, continue navigating<br>
      <br>
      I hope this helps! If you have further questions, feel free to ask
      again!<br>
      <br>
      Merry Christmas! Aaron<br>
      <br>
      <br>
      <br>
      <br>
      <br>
      Am 22.12.2013 18:15, schrieb Vojtěch Polášek:<br>
    </div>
    <blockquote cite="mid:52B71E3D.6000803@gmail.com" type="cite">
      <pre wrap="">Greetings,
my name is Vojtěch Polášek and I am a blind student from czech Republic.
I am creating an application in Pyside with Python 3.2. I would like to
create a sudoku game accessible for blind and visually impaired people.
I have created a main window, added a widget which contains 81 buttons
in a grid layout. Now my idea is, that after pressing a button, that
button would disappear and would be replaced by some other controll
which would allow you to change the value. I chose QSpinBox for now.
This step works well, although I had to implement my own eventfilter,
because QT in Linux uses arrows to browse available elements on the
screen. Never mind.
Now this is the way in which I replace a button with a spinbox. This
function is connected to the QPushButton.clicked signal:
    def editValue(self):
        print ('editing')
        senderpos =
self.grid.getItemPosition(self.grid.indexOf(self.sender()))
        self.grid.addWidget(self.spinbox, senderpos[0], senderpos[1])
        print ('added')
        self.spinbox.setValue(int(self.sender().text()))
        print ('value set')
        self.spinbox.show()
        print('showed')
        self.spinbox.setFocus()
        print('focused')
        self.spinbox.editingFinished.connect(self.storeValue)
        print('connected')

Don't mind those print statements, they are there for debugging
purposes, because I haven't found a way of debugging Pyside with PDB.
The problem is, that this signal is also called after I press a button
and this function is executed. I don't manipulate with spinbox in any
manner. Only thing that is set is its accepted range of input.
What could be the problem?
I am attaching the source code.
Thank you very much,
Vojtěch Polášek
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
PySide mailing list
<a class="moz-txt-link-abbreviated" href="mailto:PySide@qt-project.org">PySide@qt-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.qt-project.org/mailman/listinfo/pyside">http://lists.qt-project.org/mailman/listinfo/pyside</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>