本文整理汇总了C++中QMap::lastKey方法的典型用法代码示例。如果您正苦于以下问题:C++ QMap::lastKey方法的具体用法?C++ QMap::lastKey怎么用?C++ QMap::lastKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMap
的用法示例。
在下文中一共展示了QMap::lastKey方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateGraph
void CurrencyPane::UpdateGraph(const QMap<double, double> map) {
QCustomPlot* customPlot = ui->plotWidget;
if (map.size() < 2) {
customPlot->hide();
return;
}
if (customPlot->isHidden()) {
customPlot->show();
}
//customPlot->setBackground(Qt::transparent);
double lastDate = map.lastKey();
double weekAgo = QDateTime(QDate::currentDate()).addDays(-7).toTime_t();
double highestVal = 0;
if (!map.isEmpty()) {
highestVal = from(map.values().toVector().toStdVector()).max();
}
if (customPlot->graphCount() > 0) {
customPlot->removeGraph(0);
}
customPlot->addGraph();
customPlot->graph()->setName("Net Worth");
QPen pen;
pen.setColor(QColor(0, 0, 255, 200));
customPlot->graph()->setLineStyle(QCPGraph::lsLine);
customPlot->graph()->setPen(pen);
customPlot->graph()->setBrush(QBrush(QColor(255/4.0,160,50,150)));
customPlot->graph()->setData(map.keys().toVector(), map.values().toVector());
// configure bottom axis to show date and time instead of number:
customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
customPlot->xAxis->setDateTimeFormat("ddd");
// set a more compact font size for bottom and left axis tick labels:
customPlot->xAxis->setTickLabelFont(QFont(QFont().family(), 8));
customPlot->yAxis->setTickLabelFont(QFont(QFont().family(), 8));
// set axis labels:
customPlot->xAxis->setLabel("Date");
customPlot->yAxis->setLabel("Total Worth in Chaos");
// make top and right axes visible but without ticks and labels:
customPlot->xAxis2->setVisible(true);
customPlot->yAxis2->setVisible(true);
customPlot->xAxis2->setTicks(false);
customPlot->yAxis2->setTicks(false);
customPlot->xAxis2->setTickLabels(false);
customPlot->yAxis2->setTickLabels(false);
// set axis ranges to show all data:
customPlot->xAxis->setRange(weekAgo, lastDate);
customPlot->yAxis->setRange(0, highestVal);
// show legend:
customPlot->legend->setVisible(true);
}
示例2: loadRefDatas
void PluginGauss::loadRefDatas()//const ProjectSettings& settings)
{
mRefDatas.clear();
QString calibPath = getRefsPath();
QDir calibDir(calibPath);
QFileInfoList files = calibDir.entryInfoList(QStringList(), QDir::Files);
for(int i=0; i<files.size(); ++i)
{
if(files[i].suffix().toLower() == "csv")
{
QFile file(files[i].absoluteFilePath());
if(file.open(QIODevice::ReadOnly | QIODevice::Text))
{
QMap<QString, QMap<double, double> > curves;
QMap<double, double> curveG;
QMap<double, double> curveG95Sup;
QMap<double, double> curveG95Inf;
QTextStream stream(&file);
while(!stream.atEnd())
{
QString line = stream.readLine();
if(!isComment(line))
{
QStringList values = line.split(",");
if(values.size() >= 3)
{
double t = values[0].toDouble();
double g = values[1].toDouble();
double gSup = g + 1.96 * values[2].toDouble();
double gInf = g - 1.96 * values[2].toDouble();
curveG[t] = g;
curveG95Sup[t] = gSup;
curveG95Inf[t] = gInf;
}
}
}
file.close();
// The curves do not have 1-year precision!
// We have to interpolate in the blanks
double tmin = curveG.firstKey();
double tmax = curveG.lastKey();
for(double t=tmin; t<tmax; ++t)//t+=settings.mStep)//++t)
{
if(curveG.find(t) == curveG.end())
{
// This actually return the iterator with the nearest greater key !!!
QMap<double, double>::const_iterator iter = curveG.lowerBound(t);
if(iter != curveG.end())
{
double t_upper = iter.key();
--iter;
if(iter != curveG.begin())
{
double t_under = iter.key();
//qDebug() << t_under << " < " << t << " < " << t_upper;
double g_under = curveG[t_under];
double g_upper = curveG[t_upper];
double gsup_under = curveG95Sup[t_under];
double gsup_upper = curveG95Sup[t_upper];
double ginf_under = curveG95Inf[t_under];
double ginf_upper = curveG95Inf[t_upper];
curveG[t] = interpolate(t, t_under, t_upper, g_under, g_upper);
curveG95Sup[t] = interpolate(t, t_under, t_upper, gsup_under, gsup_upper);
curveG95Inf[t] = interpolate(t, t_under, t_upper, ginf_under, ginf_upper);
}
else
{
curveG[t] = 0;
curveG95Sup[t] = 0;
curveG95Inf[t] = 0;
}
}
else
{
curveG[t] = 0;
curveG95Sup[t] = 0;
curveG95Inf[t] = 0;
}
}
}
// Store the resulting curves :
curves["G"] = curveG;
curves["G95Sup"] = curveG95Sup;
curves["G95Inf"] = curveG95Inf;
//.........这里部分代码省略.........