我在qt设计器中创建了两个窗口(win1
,win2
),它们具有相同名称的对象。我只想根据输入数据(use_1
)创建和操作一个。
我可以这样:
if ( use_1 )
ui_win1->setupUi();
else
ui_win2->setupUi();
// (...)
if ( use_1 )
ui_win1->comboBox->clear();
else
ui_win2->comboBox->clear();
对所有我要使用的常用方法等等。
有没有更聪明的方法可以做到这一点?
我正在阅读有关
std::variant
和QVariant
的信息,但这似乎不是我想要的。 最佳答案
为什么不只是
WhatewerBaseWindowType *activeWindow;
if ( use_1 )
activeWindow = ui_win1;
else
activeWindow = ui_win2;
activeWindow->setupUi();
activeWindow->comboBox->clear();
// ...
我假设它们具有某种基类,因此为什么它们将具有所有通用方法
关于c++ - 使用相同的方法将一个变量用于不同的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62306362/