• 8066阅读
  • 2回复

救火~~~~QWebView加载页面会先出现白屏幕,以及loadFinished信号为什么没发出去??? [复制链接]

上一主题 下一主题
离线nikshuang
 

只看楼主 倒序阅读 楼主  发表于: 2009-11-19
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
RT,我用QWebView用load方法加载一个页面,在页面显示之前会白屏一下,然后才显示网页,我用最简单的网页试过,也是这种现象,这应该是QWebView在加载页面前做的一些初始化的时间间隙造成的??而且白屏时间随机子的性能高低而变化,比如一开机就起程序白屏时间就比较长(甚至无限白屏),之后再起程序白屏时间就比较短。

为了屏蔽白屏,我的想法是上来就给窗体上个背景,并把QWebView隐藏起来,然后等QWebView将网页加载到页面上之后再显示QWebView。我看到QWebView有提供loadFinished这个信号,但我使用的时候loadFinished一直没有反映,高手帮忙看看有什么错误:

MainWindow::MainWindow(QWidget *parent)
{
     ........
        webView = new QWebView(this);
    this->setCentralWidget(this->webView);

    connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(showWebView(bool)));
  
    webView->load(QUrl(desktopPage->toLocal8Bit().data()));
    webView->hide();
  
   ........
}

void MainWindow::showWebView(bool ok)
{
     this->webView->show();
}

    

    
离线cahwxy

只看该作者 1楼 发表于: 2009-11-20
代码没有问题的,页面加载需要时间的,你可以设置QWebview 背景
至于你的signal loadFinished 你没有接受到,是不是你的 showWebView 函数定义的有问题( 比如有没有加 slot 宏等 )
离线蛮蛮
只看该作者 2楼 发表于: 2009-11-20
也或许hide之后不发消息?
蛮蛮工作室
快速回复
限100 字节
 
上一个 下一个