I am new to pyQt4. First I installed pyqt4 then installed QTDesigner. And tried to run the given program( From internet). The file is named as main.py
import sys
from PyQt4.QtGui import QApplication, QDialog
from ui_imagedialog import Ui_ImageDialog
app = QApplication(sys.argv)
window = QDialog()
ui = Ui_ImageDialog()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
run the program using terminal
python main.py
I got the following error
from ui_imagedialog import Ui_ImageDialog
ImportError: No module named ui_imagedialog
How to solve this??
You could try running this instead;
import sys
from PyQt4.QtGui import QApplication, QDialog
app = QApplication(sys.argv)
window = QDialog()
window.show()
sys.exit(app.exec_())
And if you are using PyQt5, use this;
import sys
from PyQt5.QtWidgets import QApplication, QDialog
app = QApplication(sys.argv)
window = QDialog()
window.show()
sys.exit(app.exec_())
This will produce an empty window.
From the documentation, the ui_imagedialog is an imaginary file.
Related
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWebEngineView
app = QApplication(sys.argv)
window = QMainWindow()
view = QWebEngineView()
view.load(QUrl("http://www.google.com"))
window.setCentralWidget(view)
window.show()
sys.exit(app.exec_())
This is exactly the error I get in code like this:
Traceback (most recent call last):
File "C:\Users\eymen\Desktop\qtweb.py", line 2, in <module>
from PyQt5.QtWidgets import QApplication, QMainWindow, QWebEngineView
ImportError: cannot import name 'QWebEngineView' from 'PyQt5.QtWidgets' (C:\Users\eymen\AppData\Local\Programs\Python\Python311\Lib\site-packages\PyQt5\QtWidgets.pyd)
But my pyqt5 version is the most up-to-date and I don't see any errors. I thought it was related to the Python version but I couldn't get an idea. Python version: 3.11.1 alternative libraries do not satisfy my request.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWebEngineView
app = QApplication(sys.argv)
window = QMainWindow()
view = QWebEngineView()
view.load(QUrl("http://www.google.com"))
window.setCentralWidget(view)
window.show()
sys.exit(app.exec_())
I tried this code but when it should show google.com in python window it gave error and said QWebEngineView library not supported
You need to use
from PyQt5.QtWebEngineWidgets import QWebEngineView
Code:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl
app = QApplication(sys.argv)
window = QMainWindow()
view = QWebEngineView()
view.load(QUrl("http://www.google.com"))
window.setCentralWidget(view)
window.show()
sys.exit(app.exec_())
i am stuck in call function from pushButton.
in my project:
app.py, which is the main file to run the project.
ui_mainWindow.py is the file consist of tab widget.
Account.py is the converted file from account.ui
main_Account.py is the file where i import Account.py file.
account_handler.py is the file where consist of functions.
now when i run my project by running app.py ,it will show all contents of ui_mainWindow.py .now if i choose account tab from tabwidget than it will show all contents of mainAccount.py. now if i hit a button from mainAccount.py than function will be call from account_handler.py.
everything working fine but while i hut pushButton nothin happen.
this is my previous post : PyQt5 push button method called from separate python file ,
i follow this separately and this working fine, but in my project samecode not working. can anyone tell me where i am wrong!
app.py
from importlib import reload
import PyQt5.QtCore as QtCore
from PyQt5.uic import loadUi
from PyQt5.QtWidgets import QMainWindow,QApplication
import sys
import files.interfaces.ui_mainWindow
import files.interfaces.dashboard
reload(files.interfaces.dashboard)
import files.main_Interfaces.mainAccount
reload(files.main_Interfaces.mainAccount)
import files.interfaces.account2
reload(files.interfaces.account2)
class MainWindow(QMainWindow, files.interfaces.ui_mainWindow.Ui_MainWindow):
def __init__(self):
# Base class
QMainWindow.__init__(self)
self.ui = files.interfaces.ui_mainWindow.Ui_MainWindow()
self.ui.setupUi(self)
self.setWindowTitle("PORTFOLIO ACCOUNTING")
# import tab1
self.TabWidget = QtWidgets.QWidget()
ui = files.interfaces.dashboard2.Ui_Form()
ui.setupUi(self.TabWidget)
self.ui.tabWidget.insertTab(0, self.TabWidget, "Dashboard")
# import tab2
self.TabWidget = QtWidgets.QWidget()
ui = files.main_Interfaces.mainAccount.MainWindow()
ui.setupUi(self.TabWidget)
self.ui.tabWidget.insertTab(1, self.TabWidget, "Account")
def main():
app = QtWidgets.QApplication(sys.argv)
app.setApplicationName("Portfolio Accounting")
application = MainWindow()
application.show()
app.exec_()
if __name__ == '__main__':
main()
main_Account.py
from PyQt5 import QtCore, QtGui, QtWidgets
from files.interfaces.account import Ui_Form
from event_handler.account_EventHndler import function2
class MainWindow(QtWidgets.QMainWindow,Ui_Form):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.pushButton_2.clicked.connect(function1)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
account_handler.py
def function1():
print("function called")
You code is a bit confusing since you use the same class names in different modules and there is an inconsistencies between the names of the modules you are importing and the names of the .py files you provided but I'm assuming that files.main_Interfaces.mainAccount.MainWindow refers to mainWindow in main_Account.py. In that case, in app.MainWindow.__init__ tab2 should probably be something like
# import tab2
self.TabWidget = files.main_Interfaces.mainAccount.MainWindow()
self.ui.tabWidget.insertTab(1, self.TabWidget, "Account")
I am trying to show splashscreen before loading the mainwindow but a transparent window is displayed instead of the intended image. The splashscreen is supposed to be displayed after import and instantiation loading of Dashboard, which takes a few seconds, but the image only shows when the splash screen is about to close. Below is my code:
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt, QThread
from PyQt5.QtGui import QPixmap
from modules.video_opening.map.map import Map
import sys
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
splash_pic = QPixmap('splash.png')
splash = QtWidgets.QSplashScreen(splash_pic, Qt.WindowStaysOnTopHint)
splash.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
splash.setEnabled(False)
splash.setMask(splash_pic.mask())
splash.showMessage("<h6>Loading...</h6>", Qt.AlignBottom | Qt.AlignRight, Qt.black)
splash.show()
app.processEvents()
from modules.dashboard import Dashboard
dashboard = Dashboard()
splash.finish(dashboard)
dashboard.show()
app.exec_()
Here's what's working for me at the moment: adding a loop of app.processEvents()
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt, QThread
from PyQt5.QtGui import QPixmap
from modules.video_opening.map.map import Map
import sys
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
splash_pic = QPixmap('splash.png')
splash = QtWidgets.QSplashScreen(splash_pic, Qt.WindowStaysOnTopHint)
splash.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
splash.setEnabled(False)
splash.setMask(splash_pic.mask())
splash.showMessage("<h6>Loading...</h6>", Qt.AlignBottom | Qt.AlignRight, Qt.black)
splash.show()
for i in range(10000):
app.processEvents()
from modules.dashboard import Dashboard
dashboard = Dashboard()
splash.finish(dashboard)
dashboard.show()
app.exec_()
Here is my simple code to make a window using pyqt4 , but after running the code gets compiled but not showing any window.
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
app = QApplication(sys.argv)
window = QWidget()
window.show()
If there is some error in the code please correct me .
When I run the code below, I should be able to see a new window that I created. However, when I run it, I can see the new window appearing for a split second and disappearing. What could be the problem?
import sys
from PyQt4 import QtGui
applicationDefinition = QtGui.QApplication(sys.argv)
windowFigure = QtGui.QWidget()
windowFigure.show()
import sys
from PyQt4 import QtGui
applicationDefinition = QtGui.QApplication(sys.argv)
windowFigure = QtGui.QWidget()
windowFigure.show()
applicationDefinition.exec_()