读书人

Qt中secondaryColumnCombo-gt;currentIn

发布时间: 2012-09-14 11:53:44 作者: rapoo

Qt中secondaryColumnCombo->currentIndex()的疑问 (《c++ gui qt 4 编程》)
Qt中secondaryColumnCombo->currentIndex()的疑问
(《c++ gui qt 4 编程》)
--
在书中52页中有这样一段代码:

C/C++ code
void MainWindow::sort(){    SortDialog dialog(this);    QTableWidgetSelectionRange range = spreadsheet->selectedRange();    dialog.setColumnRange('A' + range.leftColumn(),                          'A' + range.rightColumn());    if (dialog.exec()) {        SpreadsheetCompare compare;        compare.keys[0] =              dialog.primaryColumnCombo->currentIndex();        compare.keys[1] =              dialog.secondaryColumnCombo->currentIndex() - 1;        compare.keys[2] =              dialog.tertiaryColumnCombo->currentIndex() - 1;        compare.ascending[0] =              (dialog.primaryOrderCombo->currentIndex() == 0);        compare.ascending[1] =              (dialog.secondaryOrderCombo->currentIndex() == 0);        compare.ascending[2] =              (dialog.tertiaryOrderCombo->currentIndex() == 0);        spreadsheet->sort(compare);    }}


哪位大大能详细解释一下

C/C++ code
              dialog.primaryColumnCombo->currentIndex();        compare.keys[1] =              dialog.secondaryColumnCombo->currentIndex() - 1;        compare.keys[2] =              dialog.tertiaryColumnCombo->currentIndex() - 1;


这几句啊,实在是看不懂,为毛要-1啊(书上说考虑到“none”项,从当前项-1)。还有,currentIndex()函数的索引值怎么算啊,是不是上述代码中key[]最后的值为{0,0,1}啊(如果如书中P52图3.14所示,选中A1到C7)

[解决办法]
组合框中没数据时返回-1 索引是从0开始的 因为组合框中的第一项是“none” 不在计算范围之内
[解决办法]
探讨
组合框中没数据时返回-1 索引是从0开始的 因为组合框中的第一项是“none” 不在计算范围之内

读书人网 >QT开发

热点推荐