I am attempting to customize QMainWindow in my python file browser.py
. I am going to try setting things like width = 300px
or maybe setting colors like background.color = red
later in a CSS file. I didn't know how to customize QMainWindow, so I looked around and found this page that said that I should "do it with the object that you set as central widget" but I don't really know what that means. This is my code:
import json
import sys
import settings
from settings import *
import profile
from profile import *
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtPrintSupport import *
import tkinter as tk
from tkinter import *
from tkinter.ttk import *
import os
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.browser = QWebEngineView()
self.browser.setUrl(QUrl('https://google.com'))
self.setCentralWidget(self.browser)
self.showMaximized()
navbar = QToolBar()
self.addToolBar(navbar)
backbtn = QAction(QIcon('back.png'),'back', self)
backbtn.triggered.connect(self.browser.back)
navbar.addAction(backbtn)
forwardbtn = QAction(QIcon('forward.png'),'Forward', self)
forwardbtn.triggered.connect(self.browser.forward)
navbar.addAction(forwardbtn)
reloadbtn = QAction(QIcon('reload.png'),'Reload', self)
reloadbtn.triggered.connect(self.browser.reload)
navbar.addAction(reloadbtn)
homebtn = QAction(QIcon('home.png'),'home', self)
homebtn.triggered.connect(self.navigate_home)
navbar.addAction(homebtn)
self.urlBar = QLineEdit()
self.urlBar.returnPressed.connect(self.navigateToUrl)
navbar.addWidget(self.urlBar)
self.browser.urlChanged.connect(self.update_url)
def navigate_home(self):
self.browser.setUrl(QUrl('https://google.com'))
def navigateToUrl(self):
url = self.urlBar.text()
self.browser.setUrl(QUrl(url))
def update_url(self, q):
self.urlBar.setText(q.toString())
# Load config
config = json.load(open('themes.json', 'r'))
# Setting Up application name, app variable, etc.
app = QApplication(sys.argv)
#QApplication.setApplicationName("Optico Iodine")
QApplication.setApplicationName(config.applicationName)
window = MainWindow()
app.exec_()
So how would I customize QMainWindow?