だから私は「vboxmain」と呼ばれるメインレイアウトを持っています。そして、プログラムにはブラックジャックとポーカーの2つの状態があります。両方にボタンがあります。このvboxmainには、プログラムの大部分をカバーする上部があり、両方のゲームで同じですが、両方のゲームで異なる部分を表示する下部もあります。たとえば、ポーカーゲームは5つのQCheckBoxと1つのボタンを保持する必要があります。ブラックジャックゲームに関しては、2つのボタンが必要です。これらの下部レイアウトの両方をQVBoxLayoutsとして作成しました。だから今私は持っています:
BlackjackiValikud = new QVBoxLayout; //for blackjack
Pokkerivalikud = new QVBoxLayout; //for poker
そして、次のような2つのボタンアクションを作成してみました。
void mainwindow::BlackJack_clicked(){
vboxmain->removeItem(Pokkerivalikud);
vboxmain->addItem(BlackjackiValikud);
}
void mainwindow::Poker_clicked(){
vboxmain->removeItem(BlackjackiValikud);
vboxmain->addItem(Pokkerivalikud);
}
ボタンは次のように接続されています。
connect(BlackjackButton, SIGNAL(clicked()), this, SLOT(BlackJack_clicked()));
connect(PokerButton, SIGNAL(clicked()), this, SLOT(Poker_clicked()));
しかし、現在は機能しておらず、これを行う方法がわからないため、助けを求めています。これもおそらくこれを行うための最良の方法ではありませんが、他の方法はわかりません。したがって、どのソリューションでもこれを機能させる方法についていくつかのヘルプを使用できます。両方のボタンを使用して、必要に応じてvboxmainの下部を変更できます。
私は解決策を受け入れています。