2014-06-18 58 views
1

我有一個QWidget form,然後我在表格上添加了QTextEdit,但頂部有一個空白(邊距)。如何從QWidget表格中刪除此空間(邊距)

我嘗試使用以下命令:

QWidget *widget = new QWidget(this); 
widget->layout()->setContentsMargins(0,0,0,0); 

但不幸的是,它並沒有做我想做的。

如何刪除空間(保證金)要像leftrightdown的一面?


的完整代碼

QWidget *widget = new QWidget(this); 
QTextEdit *TextEdit = new QTextEdit(widget); 
QMdiSubWindow *mdiWindows = ui->mdiArea->addSubWindow(widget); 
mdiWindows->setGeometry(5, 5, 300, 250); 
mdiWindows->setWindowTitle(finfo.baseName()); 
mdiWindows->setWindowState(Qt::WindowMaximized); 
mdiWindows->layout()->addWidget(TextEdit); 
mdiWindows->layout()->setContentsMargins(0,0,0,0); 
TextEdit->setText(cache); 
widget->setMaximumHeight(0); 
mdiWindows->show(); 
+0

它看起來像額外的空間是在任一窗口或在任何控制你正在使用的父窗口的非客戶區。加載Spy ++並檢查窗口層次結構,看看它是否可以輕鬆訪問和/或子類化的[C++]類或可以輕鬆調整大小的窗口。 –

回答

1

嘗試addding一個

widget->layout()->setSpacing(0); 
+0

謝謝你,你的代碼工作正常。 –

+0

但是爲什麼這個函數'setSpacing()'控件只在上邊? 因爲我已經增加了功能參數到'15',那麼我已經看到上邊只是增加了,並不是全部。 –

0

難道是菜單欄?如果你不需要它,請嘗試刪除它。

此外,請嘗試通過單擊小部件並使用箭頭鍵使其位置正確,將QTextedit正確放置在中央小部件上。

此外,可能會導致此問題的佈局。請檢查一下。

+0

謝謝,但沒有菜單欄,我也創建'QWidget窗體'和'QTextEdit'動態,由代碼不是由Qt設計器。 –

+0

那麼,你可以添加生成你的代碼的一部分的用戶界面,那麼這將產生相同的用戶界面在這裏我可以檢查出? – j809

+0

看看我的問題,我已更新。 –