Automatic resizing of window
-
Hello everybody. Here is my problem:
I am developing a Qt app using QTEditor. The app needs to resize itself at runtime, depending on how many graphical elements are attached to it. I thought of handling this through a shrink() method in the main window:
@class MainWindow : public QMainWindow {
...private slots:
void shrink() {
resize(minimumSizeHint());
// Also tried: resize(0, 0);
}
};@Calling shrink() can however be quite hit and miss. Sometimes, the window does get resized to the intended, minimal size. Other times, it keeps its original size, and I need to call shrink() again to get the intended outcome. It is suggested "here":http://developer.qt.nokia.com/forums/viewthread/4597 that this is a timing issue. The proposed solution is to call shrink() throgh QTimer::singleShot, such as:
@QTimer::singleShot(0, this, SLOT(shrink());@
However, this has no effect in my case. Even throwing in a call to QtApplication::processEvents() has no effect.
Are you aware of any other solution ?
Thank you.
-
welcome to devnet
Is the slot shrink() activated by the singleShot?
Since there might be timing issue, you might want to give a bit more time before firing the shot.