qt 子窗體 最大化 復原 遇到的問題
專案中有個需求,主窗體中巢狀子窗體,需要將子窗體最大化顯示和復原。
查了很多資料,基本上都是提到:
qt中視窗部件qwidget成員函式showfullscreen();是用於將視窗部件全屏顯示,但是他只對視窗模式的部件有用。子視窗的特徵是 qt::subwindow,不是獨立的視窗。因此對其呼叫showfullscreen()無效。通過對對子視窗調 用:setwindowflags(qt::dialog);或setwindowflags(qt::window);將其設為視窗模式後,即可呼叫 showfullscreen();進行全屏顯示了。
如果要還原為普通視窗,呼叫setwindowflags(qt::subwindow)將子視窗設定為非頂級視窗,再呼叫shownormal()還原子視窗顯示。
m_win->setwindowflags(qt::window);
m_win->showfullscreen();
問題: 該方法確實可行,可以最大化,但是遇到乙個問題,最大化後的介面部分操作和顯示不正確,例如有些線無法移動,button點選沒有按下的效果。
解決辦法:設定windowstate為最大化
m_win->setwindowflags(qt::window);
m_win->showfullscreen();
m_win->setwindowstate(qt::windowmaximized);
C mdi子窗體最大化問題
c mdi子窗體最大化 2008 08 15 13 23 有時候我們需要在子窗體顯示的時候就是最大化 也就是填充了整個父窗體 但通常會遇到以下麻煩 如果在 visual studio 2005裡通過屬性工具欄設定了子窗體的 windowstate 為 maximized,然後在執行過程中會發現子窗體...
CDialog窗體最大化
setwindowpos this m hwnd,hwnd topmost,0,0,0,0,swp nomove swp nosize centerwindow hdc hdesktopdc createdc t display null,null,null int xscrn getdevicec...
winForm窗體最大化的設定
1.窗體最大化時 非全屏 不會遮蓋工作列 private void btnformmax click object sender,eventargs e else 此時this.formborderstyle.預設為 sizable 2.窗體最大化時 會全屏 及遮蓋工作列 private void ...