加载网址时QWebView崩溃

时间:2016-09-19 21:50:10

标签: c++ qt qwebview

当QWebView加载一些网站时(登录facebook,tumblr时)它崩溃了, 有什么东西应该在打开网址之前启用,我使用Qt 5.5.1 这是代码

//Model.swift - The model base class. All models extend this class.

class Model: NSManagedObject {
    /**
    Some other stuff here
    **/

    //MARK: Fetch
    internal class func fetch<T: Model>(predicate: NSPredicate? = nil) -> [T]? {
        do {
            if let request = NSFetchRequest.FromEntityName(self.entityName) { //Get entity with the name defined in the current class
                request.predicate = predicate
                if let result = try self.context?.executeFetchRequest(request) as? [T] {
                    return result
                }
            }
        }
        catch let error as NSError {
            Log.Error("\(error)")
        }
        return nil
    }

    //MARK: Fetch general
    class func all<T: Model>() -> [T]? {
        if let result: [T] = self.fetch() {
            return result
        }
        Log.warning("No \(self.entityName) found")
        return nil
    }
}

//Post.swift - An example model class. Extends Model.swift

class Post: Model {
    //some fields
}

//Example view controller
class ViewController: UIViewController {
    override func viewDidLoad() {
        let posts: [Post] = Post.all()
        //do stuff
    }
}

1 个答案:

答案 0 :(得分:2)

您在旧的Qt版本中遇到了错误。除了更新Qt并切换到QWebEngineView,或者直接使用平台API来启动浏览器小部件,例如,除此之外,您无需做任何事情。 Internet Explorer在Windows上使用ActiveQt进行ActiveX控件,或在OS X上使用WebView对象。

如果你依赖于Qt 5.5.1 ,你坚持使用它的内置webkit,你别无选择,只能使用Qt的调试版本,在你的项目下运行你的项目一个调试器,看看它崩溃的地方,看看它是否有上游修复程序(上游意思是webkit项目本身)。然后,您需要将修复程序向后移植到Qt 5.5.1中捆绑的webkit版本。您可能需要重复此过程几次,因为我希望您在旧代码中遇到多个崩溃错误。