2017-08-08 75 views
0

的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)

当点击按钮,显示对话框

当点击对话框中的按钮回到主窗口

+0

什么问题?你说有一个错误,但你甚至不告诉我们它是什么! – Xatyrian

+0

对不起,我不知道如何用英文来形容这个问题,可能是电话闪动适合 – cdx0811

+0

这是怎么回事?你能发布图片吗?你的代码的一小部分不会帮助我... – Xatyrian

回答

0

我不知道为什么会这样,但我要解决它添加一行代码 void Widget::onButtonClick() { QDialog dialog(this); dialog.setAttribute(Qt::WA_NoSystemBackground); }