<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>