本文整理汇总了C++中KStarsDateTime::addDays方法的典型用法代码示例。如果您正苦于以下问题:C++ KStarsDateTime::addDays方法的具体用法?C++ KStarsDateTime::addDays怎么用?C++ KStarsDateTime::addDays使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KStarsDateTime
的用法示例。
在下文中一共展示了KStarsDateTime::addDays方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createRSTTAble
void DetailsTable::createRSTTAble(SkyObject *obj, const KStarsDateTime &ut, GeoLocation *geo)
{
clearContents();
QTextCursor cursor = m_Document->rootFrame()->firstCursorPosition();
QString rtValue, stValue; // Rise/Set time values
QString azRValue, azSValue; // Rise/Set azimuth values
//Prepare time/position variables
QTime rt = obj->riseSetTime(ut, geo, true); //true = use rise time
dms raz = obj->riseSetTimeAz(ut, geo, true); //true = use rise time
//If transit time is before rise time, use transit time for tomorrow
QTime tt = obj->transitTime(ut, geo);
dms talt = obj->transitAltitude(ut, geo);
if(tt < rt)
{
tt = obj->transitTime(ut.addDays(1), geo);
talt = obj->transitAltitude(ut.addDays(1), geo);
}
//If set time is before rise time, use set time for tomorrow
QTime st = obj->riseSetTime(ut, geo, false); //false = use set time
dms saz = obj->riseSetTimeAz(ut, geo, false); //false = use set time
if(st < rt)
{
st = obj->riseSetTime(ut.addDays(1), geo, false); //false = use set time
saz = obj->riseSetTimeAz(ut.addDays( 1 ), geo, false); //false = use set time
}
if(rt.isValid())
{
rtValue = QString().sprintf("%02d:%02d", rt.hour(), rt.minute());
stValue = QString().sprintf("%02d:%02d", st.hour(), st.minute());
azRValue = raz.toDMSString();
azSValue = saz.toDMSString();
}
else
{
if(obj->alt().Degrees() > 0.0)
{
rtValue = i18n("Circumpolar");
stValue = i18n("Circumpolar");
}
else
{
rtValue = i18n("Never rises");
stValue = i18n("Never rises");
}
azRValue = i18nc("Not Applicable", "N/A");
azSValue = i18nc("Not Applicable", "N/A");
}
// Set column width constraints
QVector<QTextLength> constraints;
constraints << QTextLength(QTextLength::PercentageLength, 25)
<< QTextLength(QTextLength::PercentageLength, 25)
<< QTextLength(QTextLength::PercentageLength, 25)
<< QTextLength(QTextLength::PercentageLength, 25);
m_TableFormat.setColumnWidthConstraints(constraints);
// Insert table & row containing table name
QTextTable *table = cursor.insertTable(4, 4, m_TableFormat);
table->mergeCells(0, 0, 1, 4);
QTextBlockFormat centered;
centered.setAlignment(Qt::AlignCenter);
table->cellAt(0, 0).firstCursorPosition().setBlockFormat(centered);
table->cellAt(0, 0).firstCursorPosition().insertText(i18n("Rise/Set/Transit"), m_TableTitleCharFormat);
// Insert cell names & values
table->cellAt(1, 0).firstCursorPosition().insertText(i18n("Rise time:"), m_ItemNameCharFormat);
table->cellAt(1, 0).firstCursorPosition().setBlockFormat(centered);
table->cellAt(1, 1).firstCursorPosition().insertText(rtValue, m_ItemValueCharFormat);
table->cellAt(2, 0).firstCursorPosition().insertText(i18n("Transit time:"), m_ItemNameCharFormat);
table->cellAt(2, 0).firstCursorPosition().setBlockFormat(centered);
table->cellAt(2, 1).firstCursorPosition().insertText(QString().sprintf("%02d:%02d", tt.hour(), tt.minute()), m_ItemValueCharFormat);
table->cellAt(3, 0).firstCursorPosition().insertText(i18n("Set time:"), m_ItemNameCharFormat);
table->cellAt(3, 0).firstCursorPosition().setBlockFormat(centered);
table->cellAt(3, 1).firstCursorPosition().insertText(stValue, m_ItemValueCharFormat);
table->cellAt(1, 2).firstCursorPosition().insertText(i18n("Azimuth at rise:"), m_ItemNameCharFormat);
table->cellAt(1, 2).firstCursorPosition().setBlockFormat(centered);
table->cellAt(1, 3).firstCursorPosition().insertText(azRValue, m_ItemValueCharFormat);
table->cellAt(2, 2).firstCursorPosition().insertText(i18n("Altitude at transit:"), m_ItemNameCharFormat);
table->cellAt(2, 2).firstCursorPosition().setBlockFormat(centered);
table->cellAt(2, 3).firstCursorPosition().insertText(talt.toDMSString(), m_ItemValueCharFormat);
table->cellAt(3, 2).firstCursorPosition().insertText(i18n("Azimuth at set:"), m_ItemNameCharFormat);
table->cellAt(3, 2).firstCursorPosition().setBlockFormat(centered);
table->cellAt(3, 3).firstCursorPosition().insertText(azSValue, m_ItemValueCharFormat);
// Restore the position and other time-dependent parameters
obj->recomputeCoords( ut, geo );
//.........这里部分代码省略.........