Problems I encountered in 1 day of programming in QT for Nokia’s state of the art, N8 mobile phone:
a) You can’t disable the frame / border around the QTableWidget, even after setting the frame style to Qt::NoFrame.
b) You can’t scroll to the bottom of the table.
c) If you rotate the phone, the selected cell might go out of view – table will be repainted from the first row.
A sample screenshot of a 6 rows QWidgetTable, just after the application starts and is instructed to go to the last row:
The code below:
table->scrollToBottom();
only scrolls the table to somewhere around the middle, around row 3.
Another snippet:
table->setCurrentCell(5, 0);
does the same (divide by two ?) algorithm to decide it’s not the 6th cell, but somewhere in the middle of 4th and 5th.
The simulator bundled with QT Creator does a better job, it takes you a bit closer to the 6th column, but doesn’t quite gets there:
Also, let’s inspect a bit how the frame of the table successfully encapsulates the cells (it’s a 2x magnification of the N8 screenshot above):
Why can’t we get table frame to SURROUND, to be OUTSIDE table’s contents ? Isn’t this the role of the frame ?
Guys, come on, Sun did the Layouts properly 10 years ago.
To add more insult to the injury, the code below:
table->setFrameShape(QFrame::NoFrame);
does not do anything (according to the documentation, it should cause the frame not to be drawn. Wanna bet ?).
Conclusion:
If I would be a Big Manager at Nokia, I would… in fact, these problems seem so deep, that I don’t know what I would do. If I found 3 elementary bugs in just one item (QTableWidget) made by a company that has XX? years of experience in UI coding, I’d be afraid to ask a list of critical tasks programmers spend their time on.
On the good side – I’m impressed by QT, it’s a huge step forward compared to J2ME / Symbian programming – it’s so much easy to program and arrange everything – to create the events, finally a good platform to develop.
I just hope access will be given to create all kind of good stuff:
a) low level programming (Screensaver API, backlight control in screensaver, etc …)
b) attention to UI details and not kludges.
If I’d be a Big Manager at Nokia, that’s what I’d communicate to the team.
Leave a Reply