question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

gui='qt' doesn't work on MacOS?

See original GitHub issue

Specification

  • pywebview version: 3.0.2
  • platform / version: MacOS Catalina

Description

I’m encountering javascript crashes when trying to run my app with webview.start(http_server=True, gui='qt'). It works fine with the default (cocoa) gui on MacOS. I don’t know if gui=‘qt’ is expected to work on MacOS.

Connected to pydev debugger (build 193.4099.14)
127.0.0.1 - - [09/Oct/2019 17:57:37] "GET /main.html HTTP/1.1" 200 -
127.0.0.1 - - [09/Oct/2019 17:57:37] "GET /main.js HTTP/1.1" 200 -
Unable to create basic Accelerated OpenGL renderer.
Unable to create basic Accelerated OpenGL renderer.
Core Image is now using the software OpenGL renderer. This will be slow.
127.0.0.1 - - [09/Oct/2019 17:57:38] code 404, message File not found
127.0.0.1 - - [09/Oct/2019 17:57:38] "GET /favicon.ico HTTP/1.1" 404 -
js: Uncaught TypeError: channel.execCallbacks[message.id] is not a function
js: Uncaught TypeError: channel.execCallbacks[message.id] is not a function
js: Uncaught TypeError: channel.execCallbacks[message.id] is not a function
js: Uncaught TypeError: channel.execCallbacks[message.id] is not a function
[31799:775:1009/175743.688756:ERROR:permission_manager_qt.cpp(82)] Not implemented reached in ProfileAdapter::PermissionType QtWebEngineCore::toQt(content::PermissionType)Unsupported permission type: 13
[31799:775:1009/175743.688812:ERROR:permission_manager_qt.cpp(82)] Not implemented reached in ProfileAdapter::PermissionType QtWebEngineCore::toQt(content::PermissionType)Unsupported permission type: 13

In Debug mode, I’m able to get this trace:

VM27:137 Uncaught TypeError: channel.execCallbacks[message.id] is not a function
   at QWebChannel.handleResponse (<anonymous>:137:42)
   at Object.QWebChannel.transport.onmessage (<anonymous>:86:25)

When looking into this issue, I realize we create a new QWebChannel for every call to window.pywebview._bridge.call, which may or may not be a contributing factor.

Practicalities

  • YESI am willing to work on this issue myself.

  • NO I am not prepared to support this issue financially.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
r0x0rcommented, Oct 10, 2019

Platforms covered by Travis tests are officially supported. In case of macOS QT it is somewhat in limbo. Personally I see no value in it.

1reaction
r0x0rcommented, Oct 10, 2019

Another user pushed for support QT on Mac, myself I haven’t touched QT on Mac for ages, so no idea if it works or not. Fix is welcome though, if you manage to find a solution

Read more comments on GitHub >

github_iconTop Results From Across the Web

Why doesn't my Qt application present a GUI when executed?
A quick Google search indicates that Qt does indeed support console applications - that is, applications which do not create a GUI, but...
Read more >
Qt application for macos not being… | Apple Developer Forums
I am working on an application written in Qt for macOS environment. In order to generate release build i have set up external...
Read more >
Qt for macOS - Specific Issues | Qt 6.4
This page outlines the main issues regarding macOS support in Qt. macOS terminologies and specific processes are found at https://developer.apple.com/.
Read more >
Creating Qt Widget Application (GUI) on macOS - YouTube
In this tutorial, I will will walk you through the steps of creating a GUI or Qt Widget Application on the macOS. These...
Read more >
Qt for Mac OS X - Specific Issues
This is often done by using the DYLD_IMAGE_SUFFIX environment variables, but that way often doesn't work so well. Instead, you can temporarily swap...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found