在我的QTreeWidget中,我尝试按数字而不是字母顺序对值进行排序。现在它是作为两个字符串进行比较,我需要的是将它作为两个整数进行比较。
到目前为止,我所拥有的:
mainwindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QSql>
//more include...
#include <QTreeWidget>
extern QSqlDatabase db;
//more extern...
namespace Ui {
class mainwindow;
class TreeWidgetItem;
}
class TreeWidgetItem : public QTreeWidgetItem
{
Q_OBJECT
public:
TreeWidgetItem(QTreeWidget *tree) : QTreeWidgetItem(tree) {}
TreeWidgetItem(QTreeWidget * parent, const QStringList & strings)
: QTreeWidgetItem (parent,strings) {}
bool operator< (const QTreeWidgetItem &other) const
{
int column = treeWidget()->sortColumn();
return text(column).toInt() < other.text(column).toInt();
}
};
class mainwindow : public QMainWindow
{
Q_OBJECT
public:
//...但它不工作,你知道我还需要做什么吗?还是说我完全说错了?
发布于 2013-08-29 10:18:09
你有没有检查过函数返回的内容(例如:查看调试器中的值)?我敢打赌,如果从不同的角度来看,答案将是显而易见的。
https://stackoverflow.com/questions/17437270
复制相似问题