我正在製作棋盤遊戲,我需要在我的gui中顯示15 x 15陣列。我決定去使用包含數組中一個元素的單個標籤。這意味着我有很多標籤。我給每個標籤命名爲「tile_0_0」,第一個0表示行,第二個0表示列。這在qt中很容易做到。製作一系列標籤的有效方法
然而,問題是,我不能簡單地使用2 forloops訪問每個瓷磚,因爲你不能在名稱中使用變量。 (「tile_i_j」不存在。)爲了解決這個問題,我決定創建一個包含每個標籤的數組。但是,由於前面提到的問題,我無法初始化陣列。
所以問題是:我怎樣才能避免編寫一個巨大的代碼塊? 一小塊當前代碼:
Ui::BoardView *ui = new UI::BoardView; // BoardView is my class
QLabel* m_boardLbArray[8][8];
m_boardLbArray[0][0] = ui->tile_0_0;
m_boardLbArray[0][1] = ui->tile_0_1;
m_boardLbArray[0][2] = ui->tile_0_2;
m_boardLbArray[0][3] = ui->tile_0_3;
m_boardLbArray[0][4] = ui->tile_0_4;
// ...
注:對不起,我沒有張貼的代碼,你可以簡單地複製和運行的一部分,但我不知道如何,因爲它的圖形用戶界面有關。
不幸的是,除了可能使用宏外,沒有簡單的方法。 –
爲什麼使用'tile_0_0',''tile_0_1'等,而不是簡單地將它們存儲在數組中? – Casey
不知道如何。請告訴我。 – Tremnor