我想禁用調整表單大小 - 這是我所嘗試的。 我已經改變了形式的大小調整政策以下 HorizontalPolicy:固定 VerticalPloicy:固定禁用表單調整大小
我也曾嘗試以下
Form *w = new Form();
w->setFixedSize(w->size());
w->show();
但形式仍然得到通過拖動邊角調整大小。有什麼建議麼 ?
我想禁用調整表單大小 - 這是我所嘗試的。 我已經改變了形式的大小調整政策以下 HorizontalPolicy:固定 VerticalPloicy:固定禁用表單調整大小
我也曾嘗試以下
Form *w = new Form();
w->setFixedSize(w->size());
w->show();
但形式仍然得到通過拖動邊角調整大小。有什麼建議麼 ?
它必須是可能的。
首先,您應該知道,在窗口實際顯示之前,它沒有任何尺寸的信息 - 因此尺寸可能會返回0(或無效;或任何;)) - 這可能會弄亂整個尺寸,因此被默默拒絕。我會嘗試
Form *w = new Form();
//w->ensurePolished();
w->setFixedSize(w->sizeHint());
w->show();
大小提示應該有正確的價值,不管是什麼。 QWidget::ensurePolished()可能在這裏是必要的,但我建議先嚐試沒有它 - 如果它的工作,爲什麼複雜的東西?
如果還是不行,那麼你可以簡單地嘗試重寫resizeEvent()
,如果用戶它會調整到什麼都爲你的小部件設置唯一正確的尺寸。這仍然會給用戶一個調整大小的能力(邊緣上的光標變化等),所以它纔是最後的選擇。
編輯:
#include <QtGui/QApplication>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.setFixedSize(500,500);
w.show();
return a.exec();
}
結果:控件不能調整大小。所以這不會改變QMainWindow的幫助 - 在我的系統上最少使用一個簡單的小部件也可以;)
這仍然無法工作 – Rajeshwar 2013-05-03 01:49:10
只是爲了確保我剛剛創建了一個新的項目,新的默認QMainWindow,刪除狀態欄(具有單獨的調整大小手柄),和在**'setupUi()'之後** **我添加了'setFixedSize(sizeHint());' - 並且我的窗口沒有大小 - 當懸停邊框時甚至沒有顯示大小光標。我的系統WIndows 7,Qt 4.7.4(32位)。 – 2013-05-03 01:58:52
那麼我使用的是VS2010的QT插件。創建了從QWidget Base Class派生的新UI類。將其從「QMainWindow」派生出來的主窗口。我的UI類繼承自'QWidget' – Rajeshwar 2013-05-03 04:39:42
這真的很奇怪,你試過的東西應該可以工作。如果你正在Windows上開發,試試'w-> setWindowFlags(Qt :: MSWindowsFixedSizeDialogHint)' – 2013-05-02 22:45:19
@NemanjaBoric不幸的是,這也不工作。也許是因爲我在這裏使用表單。相反,我應該使用dialog.I不認爲窗體可以禁用調整大小 – Rajeshwar 2013-05-02 22:51:51