How to setBottomWidget insteads of setCentralWidget? and color? (solved)
-
wrote on 31 Oct 2014, 04:20 last edited by
Hi..
How to create banner at the bottom of my MainWindow?
you can set your banner on Status Bar of QMainWindow.
or even you can take QWidget and set using setgeometry() function/method of that Widget.
how to set the widget to red color?
"find here":http://qt-project.org/wiki/How_to_Change_the_Background_Color_of_QWidget
Is it possible to write the text on a text label?
yes it is possible.hope this helps.
-
wrote on 31 Oct 2014, 05:02 last edited by
can you write out the code that enable text on Qlabel
-
Do you mean "setText":http://qt-project.org/doc/qt-5/qlabel.html#text-prop ?
-
wrote on 31 Oct 2014, 09:57 last edited by
i need a scrolling text.
I achieve by pTicker->setText(” hello “);How to put pTicker onto a textlabel?
-
Ok, you don't need a QLabel, just put your pTicker directly at the right place
-
wrote on 1 Nov 2014, 14:28 last edited by
How to put pTicker at the right place?
i putting it using QMainWindow::setcentralWidget(pTicker);I tried QToolbar *fontToolBar= new QToolBar(tr("Font");
fontToolBar->setObjectName("FontToolBar");
fontToolBar->addWidget(pTicker);
not successful.I tried QLabel *bannerLabel=new QLabel(pTicker);
bannerLabel->setAlignment(Qt::AlignVCenter);
It works, but no matter setting AlignHCenter or AlignBaseline or other alignment, it is fixes to the top left.Thanks for the good deeds, promise to pass it around.
-
[quote author="houmingc" date="1414852099"]
I tried
@QToolbar *fontToolBar= new QToolBar(tr("Font");
fontToolBar->setObjectName("FontToolBar");
fontToolBar->addWidget(pTicker);
@
not successful.
[/quote]
What do you mean by not successful ?[quote author="houmingc" date="1414852099"]
I tried
@
QLabel *bannerLabel=new QLabel(pTicker);
bannerLabel->setAlignment(Qt::AlignVCenter);
@
It works, but no matter setting AlignHCenter or AlignBaseline or other alignment, it is fixes to the top left.
[/quote]That's normal, you are telling QLabel to align it's content that way. However bannerLabel doesn't have any content. You just made it a child of pTicker.
-
wrote on 1 Nov 2014, 21:25 last edited by
How to set it to scroll at the bottom of the dialog box
-
wrote on 2 Nov 2014, 14:51 last edited by
i need the code urgently, please help.
-
At the bottom of a QDialog ? You can use a QVBoxLayout
-
wrote on 3 Nov 2014, 12:36 last edited by
how to create multiple instances of this ticker
-
The same way you create multiple instances of any other classes in C++
-
wrote on 6 Nov 2014, 01:20 last edited by
My objective is to get a scrolling text below the Main Window dialog box. Below is my code, implementing QVBoxLayout, nothing is change, please give some more advice. Thanks
Ticker* pTicker = new Ticker(this); pTicker->setText(" I love u but u love me not "); QMainWindow::setCentralWidget(pTicker); QVBoxLayout *vbox=new QVBoxLayout(this); vbox->addWidget(pTicker); QPalette pal=palette(); pal.setColor(QPalette::Background,Qt::green); setPalette(pal); setAutoFillBackground(true);
-
wrote on 6 Nov 2014, 02:10 last edited by
My objective is to get a scrolling text below the Main Window dialog box. Below is my code, implementing QVBoxLayout, nothing is change, please give some more advice. Thanks
Ticker* pTicker = new Ticker(this); pTicker->setText(" I love u but u love me not "); QMainWindow::setCentralWidget(pTicker); QVBoxLayout *vbox=new QVBoxLayout(this); vbox->addWidget(pTicker); QPalette pal=palette(); pal.setColor(QPalette::Background,Qt::green); setPalette(pal); setAutoFillBackground(true);
-
wrote on 6 Nov 2014, 04:10 last edited by
Hii.
You can take some referance from the following link for scrolling the text.
"here":http://stackoverflow.com/questions/12159443/qt-scrolling-the-text-in-qwidget -
wrote on 8 Nov 2014, 15:34 last edited by
I added cpp and header file to my added class.
Compile successfully, created the object successfully
When i build and run the program, other than the mainwindow, no text appear and scrolling.I went into below site. there is a zip file but i can't download, i have feedback to the administrator for months and there isn't any progress. Please help. Did i miss anything. it seems i am getting near to the answer.
http://www.qtcentre.org/threads/24712-Marquee-QLabel -
[quote author="houmingc" date="1415239854"]My objective is to get a scrolling text below the Main Window dialog box. Below is my code, implementing QVBoxLayout, nothing is change, please give some more advice. Thanks
@
Ticker* pTicker = new Ticker(this);pTicker->setText(" I love u but u love me not "); QMainWindow::setCentralWidget(pTicker); QVBoxLayout *vbox=new QVBoxLayout(this); vbox->addWidget(pTicker); QPalette pal=palette(); pal.setColor(QPalette::Background,Qt::green); setPalette(pal); setAutoFillBackground(true);
@
[/quote]You are setting pTicker as central widget, then you are setting a QVBoxLayout on your MainWindow which will fail since QMainWindow already has a layout.
So all in all, if you want your pTicker at the bottom in your QMainWindow centralWidget, then put in on the bottom of a widget that you will set as central widget.
-
wrote on 10 Nov 2014, 06:06 last edited by
Dear sir, i commented out setCentrealWidget, still not working.
QLayout: Attempting to add QLayout "" to MainWindow "MainWindow", which already has a layout
QWidget::setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layoutTicker* pTicker = new Ticker(this); pTicker->setText(" I love u but u love me not "); QLineEdit *lineEdit =new QLineEdit; //QMainWindow::setCentralWidget(pTicker); QVBoxLayout *vbox=new QVBoxLayout(this); vbox->addWidget(lineEdit); vbox->addWidget(pTicker); setLayout(vbox);
-
wrote on 10 Nov 2014, 06:44 last edited by
Is there other container that i can use other than QVBoxLayout.
what does showEvent and hideEvent do exactly in ticker.cpp?can give more guidance for this problem?
-
To work with QMainWindow's central widget you have to create a container widget and work on it. I already wrote that setting a layout on a QMainWindow will fail since it already has one.
@
QWidget *containerWidget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout(containerWidget);
layout->addStretch(1);
layout->addWidget(pTicker);
setCentralWidget(containerWidget);
@"QMainWindow":http://qt-project.org/doc/qt-5/qmainwindow.html#qt-main-window-framework
12/26