Sid
Sid

Reputation: 2189

view.showMaximised() not working in PyQt5

I am making a web browser using PyQt5. I am using the following code:

import PyQt5
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtWebKitWidgets import QWebView , QWebPage
from PyQt5.QtWebKit import QWebSettings
from PyQt5.QtNetwork import *
import sys
from optparse import OptionParser

class Browser(QWebView):
    def __init__(self):
        # QWebView
        self.view = QWebView.__init__(self)
        #self.view.setPage(MyBrowser())
        self.setWindowTitle('Loading...')
        self.titleChanged.connect(self.adjustTitle)
        #super(Browser).connect(self.ui.webView,QtCore.SIGNAL("titleChanged (const QString&)"), self.adjustTitle)

    def load(self,url):
        self.setUrl(QUrl(url))

    def adjustTitle(self):
        self.setWindowTitle(self.title())

app = QApplication(sys.argv)
view = Browser()
view.showMaximized()
view.load("https://duckduckgo.com")
app.exec_()

However, this is what I get:screenshot

Can someone please tell me where I am going wrong? Note that it is not a problem of the website. I have tried it with Wikipedia, Stack Overflow and Google. I am using PyQt5 version 5.10.1.

Upvotes: 2

Views: 1381

Answers (3)

Aras
Aras

Reputation: 70

The program does not know the real sizes of your device so it creates a maximum on its assumed geometry.

You should provide the actual geometry by resize then call showMaximized. So that your geometry will be reachable by the program and a true maximized window will be displayed.

    self.resize(998, 878)
    self.showMaximized()

Upvotes: 0

Marco Rojas
Marco Rojas

Reputation: 452

class Browser(QWebView):
    def __init__(self):
        super().__init__()

    def load(self, url):
        self.setUrl(QUrl(url))

    def adjustTitle(self):
        self.setWindowTitle(self.title())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Browser()
    window.setWindowTitle('Loading...')
    window.titleChanged.connect(window.adjustTitle)
    window.load("https://duckduckgo.com")
    window.showMaximized()
    sys.exit(app.exec_())

Upvotes: 0

Dmitrii Sidenko
Dmitrii Sidenko

Reputation: 658

In case you want fullscreen, you have to use:

class Browser(QWebView):
    def __init__(self):
        # QWebView
        self.view = QWebView.__init__(self)
        #self.view.setPage(MyBrowser())
        self.setWindowTitle('Loading...')
        self.titleChanged.connect(self.adjustTitle)
        self.showFullScreen()

Upvotes: 3

Related Questions