日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

QT学习第8课:QT计算器界面实现

發(fā)布時(shí)間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT学习第8课:QT计算器界面实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

聲明:此文章僅是個(gè)人在學(xué)習(xí)狄泰QT課程所做的筆記,文章中包含狄泰資料的,一切版權(quán)歸狄泰軟件所有!  

  

  第8課是來做一個(gè)計(jì)算器界面,只是一個(gè)界面顯示。不過也是挺興奮的,以前一直對(duì)著黑框框,現(xiàn)在終于到界面了。

  界面如下:

  

  在設(shè)計(jì)這個(gè)計(jì)算器的時(shí)候,需要有QLineEdit組件。

  

    -QLineEdit用于接受用戶輸入

    -QLineEdit能夠獲取用戶輸出的字符串

    -QLineEdit是功能性組件,需要父組件作為容器

    -QLineEdit能夠在父組件中進(jìn)行定位

  

1 QWidget w;//生成QWidget對(duì)象,頂級(jí)組件
2 QLineEdit le(&w);//生成QLineEdit對(duì)象,其父組件為QWidget
3 
4 le.SetAlignment(Qt::AlingnRight);//設(shè)置顯示字符串向右邊對(duì)齊
5 le.move(10,10);//移動(dòng)到坐標(biāo)10,10
6 le.resize(240, 30);//設(shè)置大小width=240,height=30

?

  界面設(shè)計(jì)圖如下:

  

    -定義組件間的間距

      Space = 10px

    -定義按鈕組件大小

      Width = 40px, Height = 40px

    -定義文本框組件大小

      Width = 5 * 40px + 4*10px, Height = 30px

?

  設(shè)計(jì)與實(shí)現(xiàn):

    -計(jì)算器程序不需要最大化和最小化按鈕

    -計(jì)算器程序的窗口應(yīng)該是固定化大小

    -文本框不能直接輸入字符

?

  小結(jié):

    -GUI應(yīng)用程序開發(fā)應(yīng)該前必須先進(jìn)行界面設(shè)計(jì)

    -GUI應(yīng)用程序界面需要考慮各個(gè)細(xì)節(jié)

      -界面決定最終用戶的體驗(yàn)

      -界面細(xì)節(jié)是GUI應(yīng)用程序品質(zhì)的重要體現(xiàn)

    -QT庫有能力實(shí)現(xiàn)各種GUI應(yīng)用程序需求

    -QT幫助文檔的使用對(duì)于開發(fā)是非常重要的。

?

  代碼實(shí)例:

 1 /*加入QT頭文件,編譯環(huán)境QT5.8*/
 2 #include <QApplication>
 3 #include <QWidget>
 4 #include <QLineEdit>
 5 #include <QPushButton>
 6 
 7 
 8 int main(int argc, char *argv[])
 9 {
10     QApplication a(argc, argv); //初學(xué)還不太懂
11     QWidget* w = new QWidget(NULL, Qt::WindowCloseButtonHint);//定義一個(gè)窗口對(duì)象,并配置窗口類型
12     QLineEdit* le = new QLineEdit(w);//定義一個(gè)對(duì)話框?qū)ο?/span>
13     QPushButton* button[20] = {0};//定義一個(gè)對(duì)象數(shù)組,包括有20個(gè)按鍵
14 
15     //按鍵的內(nèi)容數(shù)組
16     const char* btnText[20]=
17     {
18       "7", "8", "9", "+", "(",
19       "4", "5", "6", "-", ")",
20       "1", "2", "3", "*", "<-",
21       "0", ".", "=", "/", "C",
22 
23     };
24 
25     int ret = 0;
26 
27     le->move(10, 10);       //設(shè)置對(duì)話框?qū)ο笪恢糜谧鴺?biāo)10,10的位置
28     le->resize(240, 30);    //設(shè)置對(duì)話框大小240,30
29     le->setReadOnly(true);  //配置對(duì)話框不能輸入
30 
31     /*實(shí)現(xiàn)20個(gè)按鍵的排列及對(duì)按鍵內(nèi)容的賦值*/
32     for(int i=0; i<4; i++)
33     {
34         for(int j=0; j<5; j++)
35         {
36             button[i*5 + j] = new QPushButton(w);//創(chuàng)建20個(gè)按鍵
37             button[i*5 + j]->resize(40, 40);//按鍵大小為40*40
38             button[i*5 + j]->move(10 + (10 + 40) * j,50 + ( 10 + 40)* i);//按鍵行和列間距
39             button[i*5 + j]->setText(btnText[i*5 + j]);//按鍵的字面值賦值
40         }
41     }
42 
43 
44 
45     w->show();       //顯示窗口
46     w->setFixedSize(w->width(), w->height());//配置窗口大小
47 
48     return a.exec();//進(jìn)入事件循環(huán)
49 
50     delete w;       //釋放堆空間
51     delete le;
52 
53     return ret;
54 }

  實(shí)例效果圖如下:

  

  當(dāng)然現(xiàn)在只是一個(gè)界面,還得學(xué)會(huì)后面的知識(shí)才能實(shí)現(xiàn)這功能。一天進(jìn)步一點(diǎn)。

  

轉(zhuǎn)載于:https://www.cnblogs.com/qingfeng2018/p/6637626.html

總結(jié)

以上是生活随笔為你收集整理的QT学习第8课:QT计算器界面实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。