Qt应用程序,在Linux上,ARM平台切换页面
问题描述:
的Qt版本似乎闪烁。在我的电脑上,一切正常。此问题出现在arm-linux
平台上。如果即将到来的页面包含QWidget
对象,则会出现此问题。Qt应用程序,在Linux上,ARM平台切换页面
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
QDesktopWidget deskWidget;
this->resize(deskWidget.availableGeometry().size());
//main page
this->setPalette(QPalette(QColor(Qt::black)));
QPushButton* button = new QPushButton("to next",this);
connect(button,SIGNAL(clicked()),this,SLOT(onButtonClick()));
}
void Widget::onButtonClick()
{
QDialog dialog(this);
dialog.resize(size());
QWidget* topW = new QWidget(&dialog);
QPushButton* button1 = new QPushButton("back",&dialog);
connect(button1,SIGNAL(clicked()),&dialog,SLOT(accept()));
QVBoxLayout* lw = new QVBoxLayout;
lw->addWidget(topW);
lw->addWidget(button1);
dialog.setLayout(lw);
dialog.exec();
}
图片1,打开的对话框中,有明显的闪烁,但如果我删除对话框中的控件,只需设置对话框的背景色黑,这是无闪烁,例如回到主窗口(图2)
当点击按钮,显示对话框
当点击对话框中的按钮回到主窗口
答
我不知道为什么会这样,但我要解决它添加一行代码 void Widget::onButtonClick()
{
QDialog dialog(this);
dialog.setAttribute(Qt::WA_NoSystemBackground);
}
什么问题?你说有一个错误,但你甚至不告诉我们它是什么! – Xatyrian
对不起,我不知道如何用英文来形容这个问题,可能是电话闪动适合 – cdx0811
这是怎么回事?你能发布图片吗?你的代码的一小部分不会帮助我... – Xatyrian