亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cell.cpp

?? C+++GUI Programming with Qt4 的源碼
?? CPP
字號:
#include <QtGui>#include "cell.h"Cell::Cell(){    setDirty();}QTableWidgetItem *Cell::clone() const{    return new Cell(*this);}void Cell::setData(int role, const QVariant &value){    QTableWidgetItem::setData(role, value);    if (role == Qt::EditRole)        setDirty();}QVariant Cell::data(int role) const{    if (role == Qt::DisplayRole) {        if (value().isValid()) {            return value().toString();        } else {            return "####";        }    } else if (role == Qt::TextAlignmentRole) {        if (value().type() == QVariant::String) {            return int(Qt::AlignLeft | Qt::AlignVCenter);        } else {            return int(Qt::AlignRight | Qt::AlignVCenter);        }    } else {        return QTableWidgetItem::data(role);    }}void Cell::setFormula(const QString &formula){    setData(Qt::EditRole, formula);}QString Cell::formula() const{    return data(Qt::EditRole).toString();}void Cell::setDirty(){    cacheIsDirty = true;}const QVariant Invalid;QVariant Cell::value() const{    if (cacheIsDirty) {        cacheIsDirty = false;        QString formulaStr = formula();        if (formulaStr.startsWith('\'')) {            cachedValue = formulaStr.mid(1);        } else if (formulaStr.startsWith('=')) {            cachedValue = Invalid;            QString expr = formulaStr.mid(1);            expr.replace(" ", "");            expr.append(QChar::Null);            int pos = 0;            cachedValue = evalExpression(expr, pos);            if (expr[pos] != QChar::Null)                cachedValue = Invalid;        } else {            bool ok;            double d = formulaStr.toDouble(&ok);            if (ok) {                cachedValue = d;            } else {                cachedValue = formulaStr;            }        }    }    return cachedValue;}QVariant Cell::evalExpression(const QString &str, int &pos) const{    QVariant result = evalTerm(str, pos);    while (str[pos] != QChar::Null) {        QChar op = str[pos];        if (op != '+' && op != '-')            return result;        ++pos;        QVariant term = evalTerm(str, pos);        if (result.type() == QVariant::Double                && term.type() == QVariant::Double) {            if (op == '+') {                result = result.toDouble() + term.toDouble();            } else {                result = result.toDouble() - term.toDouble();            }        } else {            result = Invalid;        }    }    return result;}QVariant Cell::evalTerm(const QString &str, int &pos) const{    QVariant result = evalFactor(str, pos);    while (str[pos] != QChar::Null) {        QChar op = str[pos];        if (op != '*' && op != '/')            return result;        ++pos;        QVariant factor = evalFactor(str, pos);        if (result.type() == QVariant::Double                && factor.type() == QVariant::Double) {            if (op == '*') {                result = result.toDouble() * factor.toDouble();            } else {                if (factor.toDouble() == 0.0) {                    result = Invalid;                } else {                    result = result.toDouble() / factor.toDouble();                }            }        } else {            result = Invalid;        }    }    return result;}QVariant Cell::evalFactor(const QString &str, int &pos) const{    QVariant result;    bool negative = false;    if (str[pos] == '-') {        negative = true;        ++pos;    }    if (str[pos] == '(') {        ++pos;        result = evalExpression(str, pos);        if (str[pos] != ')')            result = Invalid;        ++pos;    } else {        QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");        QString token;        while (str[pos].isLetterOrNumber() || str[pos] == '.') {            token += str[pos];            ++pos;        }        if (regExp.exactMatch(token)) {            int column = token[0].toUpper().unicode() - 'A';            int row = token.mid(1).toInt() - 1;            Cell *c = static_cast<Cell *>(                              tableWidget()->item(row, column));            if (c) {                result = c->value();            } else {                result = 0.0;            }        } else {            bool ok;            result = token.toDouble(&ok);            if (!ok)                result = Invalid;        }    }    if (negative) {        if (result.type() == QVariant::Double) {            result = -result.toDouble();        } else {            result = Invalid;        }    }    return result;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲不卡| 亚洲欧洲成人自拍| 欧美一级片免费看| 337p亚洲精品色噜噜| 欧美日韩在线播放一区| 欧美日韩中文字幕一区二区| 色呦呦国产精品| 狠狠色狠狠色综合日日91app| 亚洲精品v日韩精品| 亚洲男人天堂av| 亚洲成人久久影院| 久99久精品视频免费观看| 国产美女精品一区二区三区| 国产精品中文有码| 色哟哟一区二区在线观看 | 9色porny自拍视频一区二区| 91视频观看免费| 日韩午夜激情免费电影| 国产精品女同一区二区三区| 亚洲一区二区三区不卡国产欧美| 免费观看成人鲁鲁鲁鲁鲁视频| 久久精品国产第一区二区三区| 床上的激情91.| 69久久99精品久久久久婷婷 | 首页国产欧美久久| 成人黄色小视频| 精品日韩一区二区三区| 一区二区三区四区不卡在线| 国产精品国产a级| 亚洲成人午夜影院| 91在线国内视频| 国产清纯美女被跳蛋高潮一区二区久久w| 亚洲日本欧美天堂| 国产91高潮流白浆在线麻豆| 欧美一区二区三区四区五区| 亚洲乱码国产乱码精品精98午夜 | 欧美一区二区三区啪啪| 欧美激情一区三区| 国产成人亚洲综合a∨婷婷图片| 911精品国产一区二区在线| 亚洲品质自拍视频| caoporen国产精品视频| 久久精品免视看| 国产成人在线网站| 国产精品污污网站在线观看| 国产很黄免费观看久久| 26uuu国产一区二区三区| 极品尤物av久久免费看| 26uuu国产在线精品一区二区| 国产目拍亚洲精品99久久精品| 天天综合色天天综合色h| 欧美午夜一区二区三区免费大片| 成人免费小视频| jvid福利写真一区二区三区| 亚洲欧美日韩久久| 欧美久久一二区| 国产在线乱码一区二区三区| 国产精品成人在线观看| 日本高清视频一区二区| 亚洲成人av福利| 中文字幕精品一区二区精品绿巨人| 国产精品2024| 日韩高清在线不卡| 国产女同互慰高潮91漫画| 欧美三级中文字幕在线观看| 久国产精品韩国三级视频| 国产三级精品在线| 91精品国产福利| 99精品国产99久久久久久白柏| 午夜成人在线视频| 久久久精品日韩欧美| 欧美日韩亚洲综合| 成人丝袜视频网| 视频一区视频二区中文| 精品国产乱码91久久久久久网站| 国内精品国产三级国产a久久| 亚洲欧美另类久久久精品| 日韩女同互慰一区二区| 欧美视频一区二区三区四区| 不卡av免费在线观看| 国产永久精品大片wwwapp| 亚洲一二三区不卡| 亚洲精品大片www| 国产天堂亚洲国产碰碰| 日韩女优av电影在线观看| 欧美肥胖老妇做爰| 欧美日韩另类国产亚洲欧美一级| 成人av高清在线| 成人丝袜高跟foot| 成人高清视频在线| 成人精品视频一区| 99精品国产99久久久久久白柏 | 色屁屁一区二区| 91免费在线看| 在线免费观看视频一区| 91行情网站电视在线观看高清版| 99精品在线免费| 色婷婷国产精品| 欧美特级限制片免费在线观看| 懂色av一区二区三区免费观看| 亚洲一区二区三区美女| 亚洲国产欧美一区二区三区丁香婷 | 欧美色精品在线视频| 777午夜精品免费视频| 日韩精品综合一本久道在线视频| 亚洲精品在线三区| 亚洲色图第一区| 国产在线不卡一卡二卡三卡四卡| 成人禁用看黄a在线| 欧美手机在线视频| 久久免费电影网| 亚洲一区二区四区蜜桃| 黑人精品欧美一区二区蜜桃| 色综合一个色综合| 精品福利av导航| 亚洲成精国产精品女| av一区二区不卡| 亚洲精品一区二区三区福利| 亚洲精选一二三| 国产夫妻精品视频| 精品国内片67194| 日韩有码一区二区三区| 在线观看亚洲成人| 亚洲欧美区自拍先锋| 国产一区二区免费看| 欧美不卡一区二区三区四区| 亚洲欧洲三级电影| 亚洲国产成人av网| 欧美亚洲图片小说| 亚洲老司机在线| 91女神在线视频| 亚洲精品免费电影| 一本大道久久a久久综合| 亚洲欧洲成人自拍| 成人高清视频在线| 亚洲免费高清视频在线| 色狠狠一区二区三区香蕉| 亚洲人快播电影网| 色婷婷久久久久swag精品 | 成人网男人的天堂| 中文字幕制服丝袜一区二区三区| 国产盗摄精品一区二区三区在线 | 久久99热国产| 久久亚洲综合色一区二区三区| 久久成人久久爱| 国产亚洲一区字幕| 色系网站成人免费| 亚洲小说春色综合另类电影| 欧美美女视频在线观看| 麻豆国产精品官网| 国产精品天美传媒| 欧美午夜精品一区二区三区| 亚洲男人都懂的| 欧美特级限制片免费在线观看| 午夜婷婷国产麻豆精品| 久久夜色精品国产噜噜av| 99视频超级精品| 免费成人在线网站| 综合分类小说区另类春色亚洲小说欧美 | 国产精品123| 午夜激情一区二区三区| 亚洲欧洲99久久| 日韩精品一区二区三区老鸭窝| 99麻豆久久久国产精品免费| 蜜臀av在线播放一区二区三区| 欧美国产1区2区| 精品粉嫩超白一线天av| 欧美亚州韩日在线看免费版国语版| 狠狠狠色丁香婷婷综合久久五月| 综合在线观看色| 国产欧美一区二区精品婷婷| 在线观看www91| 91猫先生在线| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲精品一区在线观看| 日韩无一区二区| 日本精品裸体写真集在线观看| 日本视频中文字幕一区二区三区| 一区二区免费视频| 中文子幕无线码一区tr| 久久久亚洲高清| 久久―日本道色综合久久| 26uuu欧美| 国产欧美一区二区精品婷婷 | 午夜精品成人在线视频| 亚洲成人激情av| 久久精品免费观看| 国产毛片精品国产一区二区三区| 久久97超碰色| eeuss鲁片一区二区三区在线观看| 国产suv精品一区二区6| 色婷婷久久久久swag精品| 在线观看亚洲a| 欧美精品一区二区三区蜜桃| 国产欧美一区二区三区鸳鸯浴 | 美女一区二区在线观看| 国产精品自拍网站| 色老综合老女人久久久| 91精品啪在线观看国产60岁| 久久亚洲捆绑美女|