簡體   English   中英

C ++ QT如何從QMainWindow布局訪問QWidget的公共類成員

[英]C++ QT How to access a public class member of a QWidget from a QMainWindow Layout

如標題所示,我想訪問從QMainWindow中的QGridLayout繼承QWidget的類的成員變量。 我可以訪問QWidget類的成員函數,但無法訪問“ Player”類的成員。

我知道,“-> widget()”僅返回QWidget *。 還有另一種方法可以返回位於此坐標處的真實類嗎?

該問題僅顯示訪問QWidget的功能,而不顯示訪問QWidget繼承的類的功能。

QMainWindow類的代碼:

...
for(int row = 0; row < rowsCount; row++) {
    for(int col = 0; col < colsCount; col++) {
       QWidget *player = this->ui->gridLayout->itemAtPosition(row, col)->widget();
       player->[HERE I WANT TO ACCESS THE PUBLIC MEMBER]
    }
}
...

如果我很了解,您只需將小部件動態轉換為Player並通過安全性檢查您是否確實有Player:

QWidget *widget = this->ui->gridLayout->itemAtPosition(row, col)->widget();
Player * player = dynamic_cast<Player *>(widget);

if (player != NULL) {
   ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM