How to setBottomWidget insteads of setCentralWidget? and color? (solved)
-
I created a banner based on the sample code below
http://thisthread.blogspot.sg/2010/07/ticker-timer-event.htmlCurrently, i am using QMainWindow::setCentralWidget
How to create banner at the bottom of my MainWindow?
Also how to set the widget to red color? -
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.
-
Do you mean "setText":http://qt-project.org/doc/qt-5/qlabel.html#text-prop ?
-
Ok, you don't need a QLabel, just put your pTicker directly at the right place
-
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.
-
At the bottom of a QDialog ? You can use a QVBoxLayout
-
The same way you create multiple instances of any other classes in C++
-
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);
-
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);
-
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 -
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.
-
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);