本文整理汇总了C++中QQuickItem::deleteLater方法的典型用法代码示例。如果您正苦于以下问题:C++ QQuickItem::deleteLater方法的具体用法?C++ QQuickItem::deleteLater怎么用?C++ QQuickItem::deleteLater使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QQuickItem
的用法示例。
在下文中一共展示了QQuickItem::deleteLater方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ENTER
QQuickItem*
Window::message( QString text, QtMsgType type, bool force )
{
ENTER()(text)(type)(force);
if( !force && displayed_.contains(text) )
RETURN( nullptr );
QString colour;
QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::NoIcon;
switch( type )
{
case QtInfoMsg:
colour = "#006400";
icon = QSystemTrayIcon::Information;
break;
case QtWarningMsg:
colour = "#FF8C00";
icon = QSystemTrayIcon::Warning;
break;
case QtCriticalMsg:
colour = "#8B0000";
icon = QSystemTrayIcon::Critical;
break;
case QtDebugMsg:
case QtFatalMsg:
DEBUG() << "Error: Unsupported message type";
RETURN( nullptr );
}
QQuickItem* item = nullptr;
// If tray icon is displayed, only show a tray notification
if( mainWindow_ && mainWindow_->trayIcon() )
{
mainWindow_->trayIcon()->showMessage( mainWindow()->title(), text, icon );
}
else
{
int timeout = 5000;
QQuickView* view = new QQuickView( QUrl(QStringLiteral("qrc:/qml/MessageBox.qml")), this );
item = view->rootObject();
item->setParentItem( item_ );
item->findChild<QQuickItem*>("message")->setProperty( "color", colour );
item->findChild<QQuickItem*>("message")->setProperty( "text", text );
if( type != QtCriticalMsg )
{
QTimer* timer = new QTimer( this );
timer->setSingleShot( true );
timer->setInterval( timeout );
timer->start();
connect( timer, &QTimer::timeout, this, [=](){ if(item) item->deleteLater(); } );
}
}
displayed_.insert( text, true );
RETURN( item );
}