第六章 對finddialog有三種構建方法。
第一種是固定大小,窗體大小無法拖動和改變。
第二種 可以調整大小
不用layout來做,在建構函式中,指定了窗體大小之後,還需要過載
resizeevent函式來對窗體重新調整:
void findfiledialog::resizeevent(qresizeevent * /* event */)
以messagelabel為例:
把高度調為17.
調整大小時,x不變,y座標變。水平寬度變,但是垂直高度不變。
x不變,反映出來就是各個控制項,在各自的子布局中,距離左邊緣的位置不變。
editline的垂直距離也不變。
第三種是用layout來布局,而非指定大小和位置的「手動」。
(1)可以學到三種布局。
(2)學會構造qtablewidget
(3)手動布局以及過載resizeevent函式。
感覺這個最合理,最後的messagelabel小的恰到好處。
這個是qtablewidget。
//開始構建qtablewidget
qstringlist labels;
labels << tr("name") << tr("in folder") << tr("size")
<< tr("modified");
tablewidget = new qtablewidget;
//四列的table
tablewidget->setcolumncount(4);
//table水平的headerlabel
tablewidget->sethorizontalheaderlabels(labels);
用layout來布局的,很順眼:
各個窗體的位置
qgridlayout *leftlayout = new qgridlayout;
leftlayout->addwidget(namedlabel, 0, 0);
leftlayout->addwidget(namedlineedit, 0, 1);
leftlayout->addwidget(lookinlabel, 1, 0);
leftlayout->addwidget(lookinlineedit, 1, 1);
leftlayout->addwidget(subfolderscheckbox, 2, 0, 1, 2);
leftlayout->addwidget(tablewidget, 3, 0, 1, 2);
leftlayout->addwidget(messagelabel, 4, 0, 1, 2);
qvboxlayout *rightlayout = new qvboxlayout;
rightlayout->addwidget(findbutton);
rightlayout->addwidget(stopbutton);
rightlayout->addwidget(closebutton);
rightlayout->addstretch();
rightlayout->addwidget(helpbutton);
qhboxlayout *mainlayout = new qhboxlayout;
mainlayout->addlayout(leftlayout);
mainlayout->addlayout(rightlayout);
//setlayout(mainlayout);
setwindowtitle(tr("find files or folders"));
關閉窗體:
connect(closebutton, signal(clicked()), this, slot(close()));
mysql第六章 第六章 mysql日誌
第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...
第六章 指標
1.多位元組資料的位址是在最左邊還是最右邊的位置,不同的機器有不同的規定,這也正是大端和小端的區別,位址也要遵從邊界對齊 2.高階語言的乙個特性就是通過名字而不是位址來訪問記憶體的位置,但是硬體仍然通過位址訪問記憶體位置 3.記憶體中的變數都是義序列的0或1的位,他們可以被解釋為整數或者其他,這取決...
第六章總結
6.1 使用滑鼠 6.1.1 滑鼠時間和滑鼠訊息 根據使用者操作滑鼠時滑鼠的位置,滑鼠訊息分為兩類 客戶區滑鼠訊息和非客戶區滑鼠訊息。1.客戶去滑鼠訊息 2.當滑鼠游標位於視窗的使用者區時,將生成客戶滑鼠訊息。滑鼠訊息和鍵盤訊息有所不同,windows 只將鍵盤有訊息傳送給具有輸入極點的視窗,但滑鼠...