QMdiArea 多文件區域

2022-06-22 02:54:16 字數 1218 閱讀 5809

qmdiarea widget 提供了乙個可以在上面顯示多視窗的區域。

本質上,像乙個管理多視窗的視窗管理器,它在自己上面繪製要管理的視窗,並以cascading(串聯)或者是tile(瓦片)模式安排顯示的多視窗。

qmdiarea 一般用作qmainwindow的centralwidget(如果要建立多視窗的話),但是它也可以在任何layout中。下面的**將在qmainwindow中新增乙個qmdiarea

qmdiarea * mdiarea = new

qmdiarea;

qmainwindow * mainwindow = new

qmainwindow;

mainwindow->setcentralwidget(mdiarea);

不像頂級視窗的視窗管理器那樣,只要當前widget style 支援的qt::windowflags,qmdiarea都支援。

在qmdiarea中的子視窗都是qmdisubwindow的例項。他們通過addsubwindow()新增到qmidarea中。

乙個子視窗當它得到keyboard focus時,或者setfocus()被呼叫時被啟用。使用者用一般的方法就可以啟用乙個視窗。當active window 改變時,mdi area 會發射乙個subwindowactived()的訊號,activesubwindow()

返回乙個active subwindow。

subwindowlist()返回乙個subwindow 的list。很有用,例如,可以用來彈出包含subwindow資訊的選單。

subwindow 有排練順序,預設是當前windoworder。subwindowlist() 和 activenextsubwindow()和

activepreviouswindow()都依賴這個順序。兩種排列模式cascadesubwindow()和tilesubwindow()也用的到。

這個windoworder有3種:

enum

qmdiarea::windoworder ;

1,按建立順序。

2,在棧中的順序。

3,歷史啟用的順序。

多區域的OSPF

多區域的ospf 路由器型別 1 內部路由器 所有介面都在同乙個區域。主幹路由器 至少有乙個介面屬於區域0。區域邊界路由器 abr 連線區域0和其他區域的路由器。自治系統邊界路由器 asbr 連線外部as的路由器。2 一台路由器可以有多種型別。3 路由器對它所連的區域都有乙個單獨的鏈路狀態資料庫。鏈...

OSPF多區域配置

在ospf單區域中,每台路由器都需要收集其他所有的路由器的鏈路資訊,隨著網路規模的不斷擴大,鏈路資訊也會隨之不斷增加,這將使得單台路由器上的鏈路狀態資料庫非常龐大,導致路由器負擔加重,也不便於維護管理。為解決上述問題,ospf協議可以將整個自治系統分為不同的區域。鏈路狀態資訊只在區域內進行泛洪,區域...

多文件問題

1.是多文件工程。2.在cmainfram.h新增cdialogbar m wndmydialogbar 3.在cmainfram.cpp oncreat中 if m wndmydialogbar.create this,idd dialog1,這個是對話方塊的id,對話方塊沒有建立類,應該不用吧?...