【发布时间】:2017-03-31 15:03:45
【问题描述】:
我需要开发一个数独游戏。读取包含数值的文本文件后,我创建了 9*9 小部件。
如果(该值已设置,那么我将实例化为包含该数字的qlabel,
否则我会实例化一个包含每种情况的可能值的组合框)。
直到这里一切正常。 问题是,当从组合框中选择一个值时,我需要在我的视图 (MVC) 中将它绘制在一个正方形中。问题是我怎么知道选择了哪一个?
我可以从组合框信号中使用的唯一信号是currenttextchanged(QString),但我不知道是哪个组合发出了该信号。
对我来说最理想的应该是这样的SIGNAL(curretextchanged(QString, int, int)),但我不知道我是否可以定义一个新信号?
这是一些代码:
QWidget *tab[9][9];
SudModel *modele = ???;
QComboBox *combobox = new QComboBox();
combobox->setStyleSheet("border: 1px solid red");
int tmp = modele->valuesof(i, j).size();
for (int s = 0; s < tmp; s++) {
combobox->addItem(QString::number(modele->valuesof(i, j)[s]));
}
connect(combobox, SIGNAL(currentTextChanged(QString)), this, SLOT(update()));
tab[i][j] = combobox;
【问题讨论】:
标签: c++ qt combobox qobject qt-signals