QComboBox()
を構築するとき、モデルは最初は「空」(つまり、モデルが接続されていない)です。 QComboBox::setModel()
のモデルを割り当てた後、モデルが添付されます。今、QComboBox
モデルを以前の状態にリセットする必要があります。「空」または「なし」です。QComboBoxモデルをnoneに設定する
私は、とchbW1
と呼ばれ、cbWaehrung1
と呼ばれるQComboBoxの横にあります。 QCheckBox
を確認する前に、モデルは付属せず、QComboBox
は空です。 QCheckBox
がチェックされている場合は、QComboBox
のモデルをwmodel
に設定します。この部分は動作します。
QCheckBox
のチェックを外した場合は、QComboBox
を前の状態(空)に戻します。しかし、それは無効になる(コードでは、下記参照)、そのインデックスとテキストを保持します。もう一度オンに戻すと(QCheckbox
にチェック)、古い値(インデックスとテキスト)はそのまま残ります。
これはQtの5.6である - 「他」の部分が動作していないよう:
void MainWindow::on_chbW1_toggled(bool checked)
{
ui->cbWaehrung1->setEnabled(checked);
if (checked) {
// working
ui->cbWaehrung1->setModel(this->wmodel);
ui->cbWaehrung1->setModelColumn(1);
ui->cbWaehrung1->setFocus();
} else {
// not working
ui->cbWaehrung1->clear();
ui->cbWaehrung1->clearEditText();
}
}
私も
ui->cbWaehrung1->setModel(QAbstractItemModel());
ような何かをしようとした。しかし、これはコンパイル時にエラーを与えます:
invalid cast to abstract class type ‘QAbstractItemModel’ ui->cbWaehrung2->setModel(QAbstractItemModel()); ^
また:
ui->cbWaehrung1->setModel(0);
これは、実行時にエラーが発生します。?
はどのようにこれを行うことができます0モデル
を設定することはできませんか
ありがとうございます。私はその2番目のバージョンに行くようです。 upvoteしたいが、私の "評判"が低すぎる。どのように奇妙な;-) – WKarl
答えがあなたに役立つ場合は、それを受け入れられたとしてマークすることができます(投票記号でティックシンボルを使用)。私はあなたがまだ何かに投票することができない場合でも、あなた自身の質問への回答をupvoteできないことに驚いています。少なくともあなたはそのような答えにコメントすることができます。すぐに十分な評判があるので、あまり心配しないでください! –