1.(1)設定qt顯示中文
qtextcodec::setcodecfortr(qtextcodec::codeforname("utf-8"));-qt4
注:qt5識別utf-8,所以不需要這條**。
(2)qt結構
qt圖形庫是乙個組織嚴謹的c++類庫
3.視窗部件
3.1 widget
(1)qt creator提供的預設基類只有:qmainwindow、qwideget、qdialog。
qmainwindow提供帶選單欄和工具欄的主視窗類。
qdialog是各種對話方塊的基類,而他們全繼承自qwidget。不僅如此,所有的視窗部件都繼承自qwidget。
(2)建立乙個新視窗
qwidget*wdiget=newqwidget;//新建qwidget類物件,預設parent引數是0,所以它是個視窗
qlabel*label=newqlabel;//新建qlabel物件,預設perent引數是0,所以它是個視窗
(3)設定視窗標題
widget->setwindowtitle(qobject::tr("我是widget"));//設定視窗標題
(4)new操作符為label12分配空間,但是並沒有用delete進行釋放。這是因為qt中銷毀父物件的時候會自動銷毀子物件。
(5)顯示視窗資訊
label->settext(qobject::tr(「我是個label視窗」));
(6)設定視窗大小
label->resize(150,20); //150為x座標,20為y座標。
(7)設定視窗位置
label->move(200,100); //200為x座標,100為y座標
(8)更改新建視窗的型別
qwidget*widget=newqwidget(0,qt::dialog|qt::framelesswindowhint);
qlabel*label=newqlabel(0,qt::splashscreen|qt::windowstaysontophint);
qt::dialog:對話方塊型別
qt::splashscreen:歡迎框型別
qt::framelesswindowhint:乙個沒有邊框的視窗
qt::windowstaysontophint:使該視窗停留在所有其他視窗上面
(9)qdebug()函式
qdebug()函式可以將除錯資訊直接輸出到控制台,qt creator中是輸出到應用程式輸出欄。
qdebug()<<"geometry:"
(10) .和->的區別
如果定義如下:
a *p則使用:p->play(); 左邊是結構指標。
a p 則使用: 左邊是結構變數。
總結:箭頭(->):左邊必須為指標;
點號(.):左邊必須為實體
3.2 dialog
(1)對話方塊分為:模態的(modal)和非模態的(modeless)
模態對話方塊:就是在沒關閉它之前,不能與同一應用程式的其他視窗進行互動。
要使乙個對話方塊成為模態對話方塊,只需呼叫它的exec()函式即可。
非模態對話方塊:既可以與它互動,也可以與同一應用程式的其他視窗進行互動。
要建立乙個非模態對話方塊,先用new操作建立,然後用show()函式顯示。
(2)新建乙個qdialog類,this引數
qdialog*dialog=newqdialog(this); //定義了乙個指向qdialog類物件的指標變數,new運算子開闢乙個新的記憶體空間
//dialog->setmodal(true); //新增此程式可以變為模態對話方塊。
dialog->show建立非模態對話方塊
另一種:
qdialog dialog(this);
建立模態對話方塊
(3)setwindowmodality():它有乙個引數來設定模態對話方塊要阻塞的視窗型別。
可以是:qt::nonmodal(不阻塞任何視窗,就是非模態)
qt::windowmodal(阻塞它的父視窗和所有祖先視窗以及它的子視窗)
qt::applicationmodal(阻塞整個應用程式的所有視窗)
而setmodal()函式預設的設定的是qt::applicationmodal.
(4)訊號和槽
標頭檔案中
publicslots://自定義乙個槽,且可以被類外呼叫
voidshowchilddialog();
訊號槽快速宣告方法:手動關聯
單擊showchilddialog()槽,同時按下alt+enter鍵,選擇「在中新增定義」,再按enter。
編輯器就會轉到檔案中,並已建立showchilddialog()
訊號槽的自動關聯:
connect(ui->showchildbutton,signal(clicked()),this,slot(showchilddialog()));
//connect()是qobject類中的函式,signal()、slots()是巨集
(5)顏色對話方塊 qcolordialog
qcolorcolor=qcolordialog::getcolor(qt::red,this,tr("顏色對話方塊"));
getcolor()函式為qcolordialoog的靜態函式,它的3個引數依次是(設定初始顏色、父視窗、對話方塊標題)
//輸出顏色資訊
qdebug()<<"color:" argb的4個數分別代表透明度(alpha)1.0代表完全透明,0.0代表完全透明 紅色(red)、 綠色(green)、 藍色(blue)。 (6)檔案對話方塊qfiledialog qstringlistfilenames=qfiledialog::getopenfilenames(this,tr("檔案對話方塊"),"f:",tr("**檔案(*png*jpg)")); //*png*jpg有一空格。 getopenfilename()來獲取檔名,以模態方式執行對話方塊。4個引數的作用分別是:指定父視窗、設定對話方塊標題、指定預設開啟的目錄路徑、 設定檔案型別過濾器。如果不設定過濾器,預設是選擇所有型別的檔案。可以用「;;」來設定不同型別的過濾器。tr("**檔案(*png*jpg);;文字檔案(*txt)") qdebug()<<"filenames:" 此外,qfiledialog類還提供gets**efilename()函式來實現保持檔案對話方塊和檔案為對話方塊。 getexistingdirectroy()函式來獲取乙個已存在得資料夾路徑。用法與getopenfilename()函式一致。 (7)字型對話方塊qfontdialog boolok;//標記是否按下了「ok」按鈕 qfontfont=qfontdialog::getfont(&ok,this); getfont()靜態函式來獲取選擇的字型。第乙個引數是:bool型別變數,用於存放按下的按鈕狀態 if(ok)ui->pushbutton_3->setfont(font);//如果按下「ok」按鈕,那麼讓「字型對話方塊」按鈕使用新字型 (8)輸入對話方塊qinputdialog qstringstring=qinputdialog::gettext(this,tr("輸入字串對話方塊"), tr("請輸入使用者名稱:"),qlineedit::normal,tr("admin"),&ok); if(ok)qdebug()<<"string:" intvalue1=qinputdialog::getint(this,tr("輸入整數對話方塊"), tr("請輸入-1000到1000之間的數值"),100,-1000,1000,10,&ok); if(ok)qdebug()<<"value1:" //獲取浮點數 doublevalue2=qinputdialog::getdouble(this,tr("輸入浮點數對話方塊"),tr("請輸入-1000到1000之間的數值"),0.00,-1000,1000,2,&ok); if(ok)qdebug()<<"value2:" //獲取條目 qstringlistitems定義qstringlist型別的items items tr("請選擇乙個條目"),items,0,true,&ok); if(ok)qdebug()<<"item:" 要想構建民主 平等的師生關係,我們必須明確 教師雖然是 教學的組織者和指導者,是溝通學生和 的橋梁,但是 課程不再是乙個簡單傳授知識的過程,而是乙個以學生為主體,以參與藝術實踐和探索 研究為手段,以培養學生創新精神和實踐能力為目標的師生平等互動的交流過程。在這一過程中,教師要從無限主體轉化為有限主體... 未來學習計畫 新時期教師應該是什麼樣的教師?有人作了這樣形象素描 具備崇高的師德 廣博的知識 精湛的教藝 健康的心理 強健的體魄。我渴望成為這樣的教師。通過這次寫自培計畫計畫,我又重新審視了自己,解剖了自己,在認真學習領會學校工作計畫的基礎上,我為自己制定的一年發展目標為 一 理論方面 提公升自己的... 學員基本資訊 姓名 宋奇學科 語文所屬組別 第一組 各模組個人學習反思 模組最有效的方法 不足之處及其改進方法 學習夥伴的經驗 相對於前一模組的進步 模組1閱讀 討論 思考時間較短 組與組的交流較少。改進方法 增加互動交流,可認同 可反駁 可補充。思想 認識未能得到有效提高。改進 理論和實踐相結合,...培訓學習記錄
學習記錄未來學習計畫
個人學習記錄