2017-08-08 49 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); }

相關問題