Qt 劃分畫面並能拖拉

2021-08-20 20:09:24 字數 2872 閱讀 2854

一、效果

二、建立物件

//

/* 主預覽介面部件 */

qwidget *wd_preview;

qwidget *wd_previewdiv; /* 畫面劃分 */

qlabel *lb_display;

qlabel *lb_display1;

qlabel *lb_display2;

qlabel *lb_display3;

qlabel *lb_display4;

qlabel *lb_display5;

qlabel *lb_display6;

qlabel *lb_display7;

qstring lbstyle = "border: 1px groove gray"; /* label樣式表 */

qscrollarea *sa_div; /* 畫面滑動建立 */

//

三、**

//

/* 獲得副主介面的寬和高 */

getwidgetsize();

/* 控制面板widget初始化 */

wd_preview = new qwidget(ui->wd_main);

wd_preview->resize(wdmainwidth, wdmainheight);

/* 繼承wd_preview的子部件初始化 */

/* 畫面劃分 */

wd_previewdiv = new qwidget(wd_preview);

wd_previewdiv->resize(wdmainwidth * 4/5, wdmainheight * 2);

wd_previewdiv->setstylesheet(lbstyle); /* 樣式 */

/* 滑動區域 */

sa_div = new qscrollarea(wd_preview);

sa_div->setwidget(wd_previewdiv);

sa_div->resize(wdmainwidth * 4/5, wdmainheight);

sa_div->sethorizontalscrollbarpolicy(qt::scrollbaralwaysoff); /* 隱藏滑動條 */

sa_div->setverticalscrollbarpolicy(qt::scrollbaralwaysoff);

/* 劃分8個畫面 */

lb_display = new qlabel(wd_previewdiv);

lb_display->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display1 = new qlabel(wd_previewdiv);

lb_display1->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display1->move(wdmainwidth *2/5, 0);

lb_display2 = new qlabel(wd_previewdiv);

lb_display2->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display2->move(0, wdmainheight/2);

lb_display3 = new qlabel(wd_previewdiv);

lb_display3->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display3->move(wdmainwidth *2/5, wdmainheight/2);

lb_display4 = new qlabel(wd_previewdiv);

lb_display4->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display4->move(0, wdmainheight);

lb_display5 = new qlabel(wd_previewdiv);

lb_display5->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display5->move(wdmainwidth *2/5, wdmainheight);

lb_display6 = new qlabel(wd_previewdiv);

lb_display6->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display6->move(0, wdmainheight * 3/2);

lb_display7 = new qlabel(wd_previewdiv);

lb_display7->resize(wdmainwidth *2/5, wdmainheight/2);

lb_display7->move(wdmainwidth *2/5, wdmainheight * 3/2);

/* 雙擊觸發,畫面放大或回到初始值 */

connect(lb_display, signal(setqlabel()), this, slot(setqalbelslot()));

videodis.setresultwidget(listwidget);

//

四、雙擊觸發

//

/* 滑鼠雙擊事件 */

void frmmain::mousedoubleclickevent(qmouseevent *e)

//

Qt 啟動畫面

縱所周之,當乙個程式的啟動比較耗時的時候,為了不讓使用者枯燥的等待或者是誤以為程式執行異常了,所以我們都會在啟動比較耗時的程式中加上啟動介面 例如office軟體等等。在qt中實現啟動介面,主要就是使用qsplashscreen類。該模擬較簡單,這裡就不對類本身做過多說明了,主要是以乙個例子來說明他...

Qt 程式啟動畫面

程式啟動畫面一般用於顯示軟體資訊 名稱 作者 版權等 以及減少程式載入過程中的枯燥感。在qt中,可以通過qsplashscreen類來為應用程式新增乙個啟動畫面,它會在應用程式的主視窗出現前顯示乙個,並且可以在上顯示想要輸出的資訊。下面是乙個簡單的例子 注意1 啟動畫面是通過setpixmap 來指...

Qt的啟動畫面

mainwindow.h 孤舟釣客 2011 07 22 ifndef mainwindow h define mainwindow h include class mainwindow public qmainwindow endif mainwindow h mainwindow.cpp 孤舟釣...