折騰了好幾天,終於把這本書的第三章和第四章給看了個大概。
裡面的函式呼叫關係可謂是複雜。
cell關係清理??data()在**被呼叫data(role) 返回應該顯示的值 或者對齊方式 或者公式
->value() 單元格的值,如果是舊的就重新獲得 值給cachedvalue並返回 對輸入的以『開頭和 = 開頭的做特殊處理
->formula() 獲得單元格的edit role
->data(edit role)
->evalexpression() 計算表示式的值
setformula(formula) //設定單元格的公式
-> setdata(editrole, formula) 對編輯角色呼叫setdata
-> qtablewidgetitem::setdata(role value) 將單元格 用給定的公式 以給定的值 賦值
->setdirty() 如果賦值的是editrole 把值設為舊的
問題:
qt::displayrole
qt::textalignmentrole 還在**出現過
??qtablewigetitem 中 text() 和 data()的區別??把值設為舊的有什麼用處?
spreadsheet關係清理spreadsheet()
|->qtablewidget::setitemprototype(new cell) //設定每個單元格的型別
|->selectionmode() //設定選擇模式 qt自帶
|->somethingchanged() //槽函式
| |->recalculate() //重新計算
| | |->cell() //把單元格轉換為cell形式
| | | ->qtablewidget::item()
| | |->cell::setdirty() //把所有有值的都設為舊的
| | |->viewport()->update() 更新 ??
| |
| |->modified() //訊號
||->clear() //清空整張表
|->setrowcount(0)
|->setcolumncount(0)
|->setrowcount(rowcount); //設定有多少行 qt自帶
|->setcolumncount(columncount); //設定有多少列 qt自帶
setautorecalculate() //如果自動重算是true就呼叫下面運算元
->recalculate()
裡面有些問題我還沒有想通。標了問號。
最小的是 qtablewigetitem 就是二維**qtablewidget的自帶單元格的表示,但是輸入什麼就顯示什麼,沒有什麼功能
然後是 cell 是擴充套件的qtablewigetitem 裡面加入了對特殊輸入的格式處理和表示式計算功能
再後是 spreadsheet擴充套件自二維**qtablewidget 採用了cell, 加入了複製、 貼上、 查詢、 排序、 儲存、 讀取的功能。
最後是 mainwindow的功能主要是介面的顯示 介面按鈕與功能的對接
工作學習筆記 4月 5月
遊戲資源越來越大,開發時打包的速度越來越慢,雖然我已經採用makefile的方式,節省了未改變資源的重新編譯時間,但是還有兩個問題 1 make檢查所有資源是否過期這個操作很慢 2 打包操作本身總是把編譯後的資源全部打在一起,這一步不大幅修改打包程式本身 使之支援增量打包 很難有效提高速度。目前看來...
學習筆記4
第五單元 使用者 使用者組和許可權 1.使用者 a.每乙個使用者建立都會有乙個uid和gid b.所有使用者的資訊儲存在 etc passwd檔案中 c.每乙個能登陸系統的使用者都有乙個可以使用的shell,用cat etc shells命令可以看到可以使用的所有shell 注 其中 bin sh,...
學習筆記 4
結構體定義 typedef struct sqlist sqlist struct sqlist 刪除函式 第一版 bool listdelete sqlist list,int index for int j index j l.length 1 j l.length return true 第二...