[PyQt] Image doesn't show up
Algis Kabaila
akabaila at pcug.org.au
Sun Jun 26 07:42:02 BST 2011
On Sat, 25 Jun 2011 09:49:26 PM Hans-Peter Jansen wrote:
> On Saturday 25 June 2011, 06:57:05 Algis Kabaila wrote:
> > But how to change the old style signal/slot statement to the new
> > style?...
>
> exit.triggered.connect(self.close)
>
> perhaps?
>
> Pete
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
Yaşar, some bonus additions to your good trial script. The images in icons
directory are from "tango" free open source package.
It is advisable/necessary to have "parent=None" in the __init__ method. As
the default for parent is already None, why do we need/want to do? I just do
it..
#!/usr/bin/python3
# menubar.py
import sys
from PyQt4 import QtGui
class MainWindow(QtGui.QMainWindow):
# def __init__(self):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# QtGui.QMainWindow.__init__(self)
self.resize(300,200)
self.setWindowTitle('Menu and tool bar.')
exit = QtGui.QAction(QtGui.QIcon('icons/no.png'),'Exit', self)
exit.setShortcut('Ctrl+Q')
exit.setStatusTip('Exit application')
#
self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLOT('close()'))
exit.triggered.connect(self.close)
toolBar = self.addToolBar('tools')
toolBar.addAction(exit)
self.centralwidget = QtGui.QWidget(self)
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.plainTextEdit = QtGui.QPlainTextEdit(self.centralwidget)
self.gridLayout.addWidget(self.plainTextEdit, 0, 0, 1, 1)
MainWindow.setCentralWidget(self, self.centralwidget)
self.statusBar()
menubar = self.menuBar()
file = menubar.addMenu('&File')
file.addAction(exit)
sayHiAction = QtGui.QAction(QtGui.QIcon('icons/address-book-new.png'),
'Greet them!', self)
sayHiAction.setStatusTip('Say Hi')
toolBar.addAction(sayHiAction)
file.addAction(sayHiAction)
sayHiAction.triggered.connect(self.sayHi)
def sayHi(self):
self.plainTextEdit.setPlainText('Hi Pete, hi world!')
# setPlainText(text) first clears the plainTextEdit window.
self.plainTextEdit.appendPlainText('Peace to people of good will!')
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
Thanks to Pete for showing the simpler nes style of signal/slot connection!
Kind regards,
OldAl
More information about the PyQt
mailing list