///將應用程式的控制權傳遞給qt,程式進入事件迴圈,等待滑鼠,鍵盤等事件
return a.exec();
///這句初始化靜態窗體,內部建立所需要的訊號和槽對應
ui->setupui(this);
//設定style
m_centralwidget->setstylesheet("qwidget#centralwidget;");
//管理多個訊號對應同乙個槽,很好用
//設定窗體透明,在沒有父視窗的情況下可以生效,不會顯示黑色。
leftdownbox->setwindowflags(qt::framelesswindowhint);
leftdownbox->setattribute(qt::wa_translucentbackground);
//遍歷父視窗上的子控制項
qlistwidgets = custombtnwidget->findchildren();
if(!widgets.isempty())
}//開啟視窗獲取檔案或者資料夾路徑
//程式只能啟動乙個
qsharedmemory shared("name");//隨便填個名字就行
if (shared.attach())
return 0;
shared.create(1);
//執行緒 例子
movieshow::movieshow(qobject *parent) : qthread(parent)
movieshow::~movieshow()
endmovie();
quit();
terminate();
//wait();
}void movieshow::startmovie()
this->start();
}void movieshow::endmovie()
void movieshow::setmovie(const qstring &path)
}qpixmap& movieshow::getcurrentpix()
void movieshow::run()}}
///在靜態的介面裡修改了控制項的一些屬性,需要重新構建才會起作用,如果發現沒有修改,重新構建下或許能解決問題
二、父子機制與布局管理
///當使用布局的時候,沒有必要顯式的指定父視窗,布局會自動設定父視窗
qt的父子物件機制是在qobject中實現的。當利用乙個父物件建立乙個子物件(qlabel *label = qlabel(this);)父物件會把這個子物件新增到自己的子物件列表中去,見上圖。當刪除這個父物件時,它會遍歷子物件列表並且刪除每乙個子物件。然後,這些子物件再去 刪除它們包含的子物件列表中的物件。如此反覆遞迴呼叫,直至清空所有物件為止。這種父子物件機制可在很大程度上簡化記憶體管理工作,降低記憶體洩漏的風險。沒有指定父物件的需要手動刪除
(如果在刪除父物件之前刪除了子物件是可以的,父物件會自動把刪掉的子物件從列表中移除,但是刪除了父物件後再去刪除子物件就會出錯,因為子物件已經被刪掉了)
記:在開發中各種情況都可能遇到,有的時候刪除了父物件,還會報其他錯誤(記憶體洩漏什麼的),所以就手動一層層刪。有的時候改的多了,程式關上會報記憶體錯誤,重新構建就沒事了,當然以上說的都是windows平台,切記多執行qmake多重新構建構建。
布局管理:當子控制項隱藏或者動態刪除或者又show的時候,也能自動適應
qsizepolicy的 preferred expanding策略
preferred:視窗部件的預設大小就是它比較合適的大小,但是如果需要,還是可以對該視窗部件進行拉伸或者壓縮
expanding:是可以拉伸或者壓縮該視窗部件,並且希望他能變長變寬。
多出來的視窗空間會分配給expanding視窗部件,而preferred視窗部件不變。
影響布局的方式:
1.布局拉伸因子:setstretch()
2.margin
3.space
4.子視窗部件的最小大小,最大大小或固定大小,當布局管理器在擺放這些視窗部件的時候,它就會考慮這些約束條件
5.對子視窗部件的類進行派生並且重新實現sizehint()函式,由此獲得所需的大小。
三、訊號與槽
///訊號槽必須的
q_object
///signals關鍵字實際上是乙個巨集,c++預處理器會在編譯程式找到它之前轉為標準c++**
///同理slots也是
2.五、事件
事件發生的先後順序:
3.在qobject中安裝事件過濾器
4.重新實現qobject::event()
5.重新實現某些特定的事件(mousepressevent,paintevent等)
Linux知識點梳理
使用者名稱 主機名 root hostname 使用者名稱 主機名稱 符號含義 當前使用者屬於root使用者 當前使用者屬於普通使用者 注意 對系統進行配置管理時,如要root使用者 檢視主機名稱 hostname設定主機名稱 hostname hadoop senior.com注意 該方式設定,當...
spring 知識點梳理
1.spring預設所有管理的bean都是單例模式 懶載入,所有的bean都是交給spring容器中的map管理,生命週期與spring相同,如果使用多例模式,bean則是交給記憶體管理,生命週期與spring無關 2.ssm分層 控制層 服務層 資料層 對應的註解分別為 controller se...
Linux C知識點梳理
第1章 程式設計和c語言 最簡單的c語言程式 第2章 演算法 程式的靈魂 第3章 簡單的c程式設計 順序程式設計 常量,變數 先定義後使用 常變數,識別符號 資料型別 運算子與表示式,不同型別資料間混合運算 c語句 資料的輸入輸出,printf scanf 函式,字元資料輸入輸出 第4章 選擇結構程...