用Qt Label 生成矩陣陣列

2022-09-12 18:21:14 字數 870 閱讀 1078

最近做的乙個專案中需要用到視覺去檢測產品,產品呈矩陣式排列,客戶那邊需要檢測完一組產品後能夠將檢測結果以圖形化的方式顯示出來。

emmm,這個似乎不難,只需要有類似於陣列的東西就可以搞定,不過對於陣列來說它並不能存像qlabel這樣的型別,但是qt它還是機制地提供了幾種容器類來幫我們儲存資料。qt的容器類大概有以下幾類:

qlist類(用得比較多的一種):qlist、qlinkedlist、qqueue

qvector類(將資料儲存在一段連續的記憶體空間裡):qvector、qstack

qmap類(字典式容器,將key型別的值對映到 t型別的值上):qmap、qhash

在這裡也沒有什麼複雜的操作,用最常用的qlist就行了

接下來要思考一下整個過程應該是怎樣的呢?

首先要定義這樣乙個函式,可以接收矩陣的行列值和檢測每個單元的狀態值,分別定義為row,col和status。接著要把所有的label都給new一遍(廢話,沒有新label哪來的新zg,手動滑稽),因為生產的時候是有順序的,每個單元都有它的序號,所以這些催巴兒得按大小個排好,然後給它們分配好狀態值,最後再根據生產順序進行矩陣排列。

廢話不多說,上**

1 qlistm_lstlabel;23

void result::showresult(int row, int col, bool

status)415

else

161920}

2122

for(int j = 0;j < col;j++)

2328

}29 }

這段**還有一些需要修改的地方,比如status的值應該是乙個陣列的指標,這樣才能有多個值傳進來,還有矩陣的排列方式可有多種選擇

效果如下:

利用動態陣列生成魔方矩陣

利用動態陣列生成魔方矩陣 難點 魔方效果 如果矩陣大小為10 10,則矩陣內的100個數,為從1到100的整數不重複的隨機排序。效果如下圖所示 主要的兩個函式。srand time null 時間種子 k rand n n 產生隨機數 通過malloc 函式動態分配記憶體,n是待使用者輸入的值。ge...

用c 動態生成n n的魔方矩陣

乙個魔法正方形矩陣是乙個n n的矩陣,其中整數1,2,3 n2出現且僅僅出現一次,而每一行 每一列和對角線上元素的和都相等。例如,下面就是乙個5 5的魔法正方形,所有的行 列以及對角線上的和都為65.17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21...

python實現由陣列生成對稱矩陣

在實際應用中,經常會遇上這樣的小需求 根據一段給定的陣列,生成由這一段陣列值構成的對稱矩陣。例如,給定陣列 1,2,3,4,5,6,7,8,9,10 要求生成如下的矩陣 0,1,2,3,4 1,0,5,6,7 2,5,0,8,9 3,6,8,0,10 4,7,9,10,0 其中,對角元全為0,該型別...