QPushButton with duplicated text
-
Hello guys,
I have an Android application written in C++ using Qt Creator.After the Qt version upgrade (from 4 to 5) I observed a strange behavior: all QPushButton got duplicated text label, one is at the correct position and the other is shifted a bit away.
To clear the situation, I have created a whole new QDialog menu in QT Creator, using just the graphical editor, but it displayed the same thing.
This is how it looks in the Creator:
mydialog.ui:
<widget class="QPushButton" name="startButton"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> <string>Start</string> </property> <property name="default"> <bool>true</bool> </property> </widget>
ui_mydialog.h:
public: QPushButton *startButton; QPushButton *stopButton; ... void setupUi(QDialog *MyDialog) { ... // some layout stuff here startButton = new QPushButton(MyDialog); startButton->setObjectName(QStringLiteral("startButton")); QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); sizePolicy.setHorizontalStretch(0); sizePolicy.setVerticalStretch(0); sizePolicy.setHeightForWidth(startButton->sizePolicy().hasHeightForWidth()); startButton->setSizePolicy(sizePolicy); startButton->setDefault(true); ... // later QWidget::setTabOrder(startButton, stopButton); } void retranslateUi(QDialog *MyDialog) { MyDialog->setWindowTitle(QApplication::translate("MyDialog", "Dialog", 0)); startButton->setText(QApplication::translate("MyDialog", "Start", 0)); stopButton->setText(QApplication::translate("MyDialog", "Stop", 0)); ... }
And this is the result:
I have also looked trough the Qt bug tracker but nothing...
Did someone else observe the similar anomaly?
EDIT
I have found the part where the style of the buttons are defined. May this helps somehow....foreach (QToolButton* bt, listOfToolButtons) { bt->setAttribute(Qt::WA_AcceptTouchEvents); bt->installEventFilter(scrollAreaForToolBar); bt->setIconSize(QSize(iconSize, iconSize)); bt->setStyleSheet("QToolButton{ background-color: #051a49; border: none;}"); scrollAreaContainer->layout()->addWidget(bt); }
-
Hi and welcome to devnet,
I'd recommend bringing this question to the Android-development mailing list. You'll find the Qt's Android port developers/maintainers (this forum is more user oriented)
-
Hi and welcome to devnet,
I'd recommend bringing this question to the Android-development mailing list. You'll find the Qt's Android port developers/maintainers (this forum is more user oriented)
-
Who talked about blaming ? ;)
Asking if someone encountered the same problem isn't a bad thing to do
-
Who talked about blaming ? ;)
Asking if someone encountered the same problem isn't a bad thing to do
-
Hello
I am porting a Qt application to Android and I have the same problem with QPushButton only whan I use ministro to install Qt libs. When I ask Qt Creator to bunble Qt libs in package, there is no problem. Looks like a problem of librairie difference.
PS : I am using Qt 5.4, Qt Creator 3.3.0 and Ministro 10.3.
-
Hello again!
I managed some progress!
I had to recreate the entire widget and this time I gave a bit more size to it.
Just using QtCreator, scaling the main frame of the widget. Now, all button label is dispalyed correctly.Also, the size policy of the ui elements has been changed to
Expanding
.Okay, I know that this is just a treatment of the problem and does not explain why it occurs, but I am happy with this result now. :)