29 mLayout =
new QHBoxLayout();
30 mLayout->setMargin( 0 );
31 mLayout->setContentsMargins( 2, 0, 2, 0 );
32 mLayout->setSpacing( 6 );
34 mLineEdit =
new QLineEdit( QString() );
35 mLineEdit->setDisabled(
true );
36 mLineEdit->setFrame(
false );
37 mLineEdit->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum );
38 QPalette palette = mLineEdit->palette();
39 palette.setColor( QPalette::Disabled, QPalette::Text, QPalette::WindowText );
40 mLineEdit->setPalette( palette );
41 mLineEdit->setStyleSheet( QStringLiteral(
"* { border: 0; background-color: rgba(0, 0, 0, 0); }" ) );
42 mLayout->addWidget( mLineEdit, 10 );
51 mLayout->insertWidget( 0, widget, stretch, Qt::AlignLeft );
55 mLayout->addWidget( widget, stretch, Qt::AlignLeft );
62 mLayout->removeWidget( widget );
67 return mLineEdit->text();
72 mLineEdit->setText( text );
73 mLineEdit->setCursorPosition( 0 );
76 if ( !mTempMessageTimer )
78 mTempMessageTimer =
new QTimer(
this );
81 mTempMessageTimer->start( timeout );
83 else if ( mTempMessageTimer )
85 delete mTempMessageTimer;
86 mTempMessageTimer =
nullptr;
92 mLineEdit->setText( QString() );
97 if ( mParentStatusBar )
98 mParentStatusBar->disconnect( mShowMessageConnection );
100 mParentStatusBar = statusBar;
102 if ( mParentStatusBar )
103 mShowMessageConnection = connect( mParentStatusBar, &QStatusBar::messageChanged,
this, [
this](
const QString & message ) {
showMessage( message ); } );
108 QWidget::changeEvent( event );
110 if ( event->type() == QEvent::FontChange )
112 mLineEdit->setFont( font() );
Anchor
Placement anchor for widgets.
void clearMessage()
Removes any temporary message being shown.
QString currentMessage() const
Returns the current message shown in the status bar.
void addPermanentWidget(QWidget *widget, int stretch=0, Anchor anchor=AnchorRight)
Adds the given widget permanently to this status bar, reparenting the widget if it isn't already a ch...
void changeEvent(QEvent *event) override
Anchor widget to left of status bar.
void setParentStatusBar(QStatusBar *statusBar)
Sets the parent status bar.
void showMessage(const QString &message, int timeout=0)
Displays the given message for the specified number of milli-seconds (timeout).
void removeWidget(QWidget *widget)
Removes a widget from the status bar.
Anchor widget to right of status bar.
QgsStatusBar(QWidget *parent=nullptr)
Constructor for QgsStatusBar.