Hello QT folks:
I have been trying to implement a GUI that uses the QTable and QTableItem methods. I have a table of entries and
I want to keep track of the changes I make to the table entries.
Now I want to highlight the changed cells with a different color. I sub-classed QTableItem and re-implemented the
QTableItem::Paint method to change the color of the entries. However, I see a quick flicker of color change and
then the old white background seems to override it. I believe before the color change is incorporated, garbage collection
takes over and clears the colored objects created. If anyone has encountered such a problem, can you tell me how I could force the color of the
changed items to persist?
I have attached a small test snippet - The main process is coded in changeColor.py. Table.py is the code generated by Qt designer that is
used by changeColor.py. One can run changeColor.py to test it. The button 'show changes' should ideally color the items.
Regards,
David S.
from qt import * from qttable import * from table import Form1 import sys class changeColor(Form1): def __init__(self,parent=None): Form1.__init__(self,parent) self.connect(self.insertB,SIGNAL('clicked()'),self.insertData) self.connect(self.Table1,SIGNAL('valueChanged(int,int)'),self.trackChanges) self.connect(self.showB,SIGNAL('clicked()'),self.color) self.list=[]
def insertData(self): for row in xrange(3): for col in xrange(3): self.Table1.setText(row,col,str(row)) self.list=[] def trackChanges(self,row,col): if [row,col] not in self.list: self.list.append([row,col]) print self.list def color(self): row=0 col=0 for cell in self.list: row=cell[0] col=cell[1] self.item=colorItem(self.Table1,QTableItem.Always,self.Table1.text(row,col)) self.Table1.setItem(row,col,self.item) class colorItem(QTableItem): def __init__(self, table, edittype, text): QTableItem.__init__(self, table, edittype, text) print "New MyTableItem" def paint(self, painter, colorgroup, rect, selected): print "paint called" cg = QColorGroup(colorgroup) cg.setColor(QColorGroup.Base, Qt.red) QTableItem.paint(self,painter, cg, rect, selected) if __name__=="__main__": app = QApplication(sys.argv) print app.desktop().width() print app.desktop().height() cc = changeColor() app.setMainWidget(cc) cc.show() app.exec_loop()
# Form implementation generated from reading ui file 'table.ui' # # Created: Fri Nov 8 15:45:15 2002 # by: The PyQt User Interface Compiler (pyuic) # # WARNING! All changes made in this file will be lost! from qt import * from qttable import QTable image0_data = [ "22 22 7 1", ". c None", "# c #000000", "b c #2e2e2e", "c c #5c5c5c", "d c #878787", "e c #c2c2c2", "a c #ffffff", "......................", "....##########........", "....#aaaaaaa#b#.......", "....#aaaaaaa#cb#......", "....#aaaaaaa#dcb#.....", "....#aaaaaaa#edcb#....", "....#aaaaaaa#aedcb#...", "....#aaaaaaa#######...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....#aaaaaaaaaaaaa#...", "....###############...", "......................", "......................" ] image1_data = [ "22 22 5 1", ". c None", "# c #000000", "c c #848200", "a c #ffff00", "b c #ffffff", "......................", "......................", "......................", "............####....#.", "...........#....##.##.", "..................###.", ".................####.", ".####...........#####.", "#abab##########.......", "#babababababab#.......", "#ababababababa#.......", "#babababababab#.......", "#ababab###############", "#babab##cccccccccccc##", "#abab##cccccccccccc##.", "#bab##cccccccccccc##..", "#ab##cccccccccccc##...", "#b##cccccccccccc##....", "###cccccccccccc##.....", "##cccccccccccc##......", "###############.......", "......................" ] image2_data = [ "22 22 5 1", ". c None", "# c #000000", "a c #848200", "b c #c1c1c1", "c c #cab5d1", "......................", ".####################.", ".#aa#bbbbbbbbbbbb#bb#.", ".#aa#bbbbbbbbbbbb#bb#.", ".#aa#bbbbbbbbbcbb####.", ".#aa#bbbccbbbbbbb#aa#.", ".#aa#bbbccbbbbbbb#aa#.", ".#aa#bbbbbbbbbbbb#aa#.", ".#aa#bbbbbbbbbbbb#aa#.", ".#aa#bbbbbbbbbbbb#aa#.", ".#aa#bbbbbbbbbbbb#aa#.", ".#aaa############aaa#.", ".#aaaaaaaaaaaaaaaaaa#.", ".#aaaaaaaaaaaaaaaaaa#.", ".#aaa#############aa#.", ".#aaa#########bbb#aa#.", ".#aaa#########bbb#aa#.", ".#aaa#########bbb#aa#.", ".#aaa#########bbb#aa#.", ".#aaa#########bbb#aa#.", "..##################..", "......................" ] image3_data = [ "22 22 88 2", "Qt c None", ".2 c #000000", ".S c #08ff08", "#v c #100810", ".U c #101010", "#c c #101018", ".M c #181018", "#e c #181818", ".A c #181821", ".L c #211821", "#l c #212121", ".z c #212129", "#m c #292129", "#u c #292929", "#n c #292931", ".R c #29ff29", "#o c #312931", ".T c #313131", "#p c #313139", ".Z c #31ff31", "#q c #393139", "#t c #393939", ".y c #393942", "#s c #423942", ".o c #424242", "#h c #4a4a52", ".n c #5a525a", "#r c #5a5a63", ".I c #5ace5a", "#b c #6b636b", ".p c #6b6b6b", ".x c #6b6b73", ".Y c #6bff63", ".l c #736b73", ".t c #7b737b", ".s c #7b7384", ".0 c #7bff7b", ".r c #847b84", ".u c #847b8c", "#g c #84848c", ".v c #8c7b94", "#i c #8c848c", ".w c #8c8494", "#j c #8c8c8c", ".8 c #8c8c94", ".m c #948c94", "#k c #948c9c", "#f c #949494", ".q c #94949c", ".J c #94c694", "#d c #9c949c", "#a c #9c94a5", ".k c #9c9c9c", ".N c #9c9ca5", ".H c #9ccea5", ".K c #a59ca5", "#. c #a59cad", ".i c #a5a5a5", ".3 c #a5a5ad", "## c #ad9cad", ".V c #ada5ad", ".d c #adadad", ".j c #adadb5", ".9 c #b5adb5", ".# c #b5b5b5", ".a c #bdbdbd", ".7 c #bdd6bd", ".c c #c6c6c6", ".5 c #cec6ce", ".b c #cecece", ".4 c #ceced6", ".F c #d6ced6", ".G c #d6cede", ".h c #d6d6d6", ".E c #d6d6de", ".Q c #d6ffd6", ".B c #ded6de", ".1 c #ded6e7", ".g c #dedede", ".D c #dedee7", ".6 c #e7dee7", ".f c #e7e7e7", ".C c #e7e7ef", ".X c #e7ffe7", ".O c #efe7ef", ".e c #efefef", ".W c #f7f7f7", ".P c #ffffff", "QtQtQtQtQtQt.#.a.b.b.b.b.c.c.a.a.d.aQtQtQtQt", "QtQtQtQtQtQt.a.e.f.f.f.f.f.e.e.e.g.aQtQtQtQt", "QtQtQtQtQtQt.a.c.c.c.b.b.c.c.c.c.a.cQtQtQtQt", "QtQtQtQtQtQt.#.a.a.a.a.#.a.a.#.#.d.aQtQtQtQt", "QtQtQtQtQt.c.d.c.a.c.c.c.a.a.a.c.#QtQtQtQtQt", "QtQtQtQtQt.a.a.#.a.a.a.a.a.a.c.c.#QtQtQtQtQt", "QtQtQtQtQt.a.#.c.a.a.a.a.a.c.a.c.dQtQtQtQtQt", "QtQtQtQtQt.c.a.a.a.a.a.a.a.a.a.a.#QtQtQtQtQt", "QtQtQtQtQt.d.b.f.g.g.g.g.g.g.h.g.i.i.jQtQtQt", "QtQtQt.a.k.l.#.h.b.h.b.h.b.h.g.g.m.n.o.p.#Qt", "QtQt.a.q.r.s.t.t.t.t.t.t.t.u.v.w.x.y.z.A.o.i", "Qt.a.k.B.C.D.B.E.E.E.E.F.G.H.I.J.K.o.L.L.M.y", ".a.N.O.P.P.P.P.P.P.P.P.P.Q.R.S.R.b.v.T.A.U.L", ".V.W.P.P.P.P.P.P.P.P.P.P.X.Y.Z.0.P.1.t.A.2.L", ".3.E.4.5.4.h.E.E.g.6.D.B.D.E.7.F.4.5.8.M.2.A", ".m.9.j.V.3#..3.K#.#..i#..K#.###a.q.8#b#c.2.L", ".m.j.j#..3.K.K.K.N.K.N.N.N.N#a#d#d.w#b#c.2#e", "#f#.#..K.N.K.N.N.N#a.k#a#d#d#d#a.m#g#b.M.2#h", ".m.3.K.K#a.k#a#d#a.k#a#d#a#d.q.m.8#i.x#c#e.d", "#f#g#i.w#j.w#i.8.w#i.8.8.m.8.m#k.8.w#b#e#fQt", ".#.l.z.A#l.z#m#m#m#n#o#o#p#p#q#q#p#o#p#fQtQt", "QtQt.d#r#s#s#t#p.T.T.T#u#u.z#e#e#v.o.kQtQtQt" ] image4_data = [ "22 22 3 1", ". c None", "# c #000084", "a c #848284", "......................", "......................", "......................", "......................", "......................", "...........######a....", "..#......##########...", "..##...####......##a..", "..###.###.........##..", "..######..........##..", "..#####...........##..", "..######..........##..", "..#######.........##..", "..########.......##a..", "...............a###...", "...............###....", "......................", "......................", "......................", "......................", "......................", "......................" ] image5_data = [ "22 22 3 1", ". c None", "a c #000084", "# c #848284", "......................", "......................", "......................", "......................", "......................", "....#aaaaaa...........", "...aaaaaaaaaa......a..", "..#aa......aaaa...aa..", "..aa.........aaa.aaa..", "..aa..........aaaaaa..", "..aa...........aaaaa..", "..aa..........aaaaaa..", "..aa.........aaaaaaa..", "..#aa.......aaaaaaaa..", "...aaa#...............", "....aaa...............", "......................", "......................", "......................", "......................", "......................", "......................" ] image6_data = [ "22 22 3 1", ". c None", "# c #000000", "a c #000082", "......................", ".......#.....#........", ".......#.....#........", ".......#.....#........", ".......#....##........", ".......##...#.........", "........#...#.........", "........##.##.........", ".........###..........", ".........###..........", "..........#...........", ".........a#a..........", "........aa.aaa........", ".......a.a.a..a.......", "......a..a.a...a......", ".....a...a.a....a.....", "....a....a.a....a.....", "....a....a..a...a.....", "....a....a..a..a......", "....a...a....aa.......", ".....aaa..............", "......................" ] image7_data = [ "22 22 6 1", ". c None", "# c #000000", "b c #000082", "c c #3c3cfd", "d c #8b8bfd", "a c #ffffff", "......................", "......................", "########..............", "#aaaaaa##.............", "#a####a#a#............", "#aaaaaa#aa#...........", "#a####a#bbbbbbbb......", "#aaaaaa#baaaaaabb.....", "#a#####aba####abcb....", "#aaaaaaabaaaaaabdcb...", "#a#####aba####abadcb..", "#aaaaaaabaaaaaabbbbbb.", "#a#####aba####aaaaaab.", "#aaaaaaabaaaaaaaaaaab.", "#a#####aba#########ab.", "#aaaaaaabaaaaaaaaaaab.", "########ba#########ab.", "........baaaaaaaaaaab.", "........ba#########ab.", "........baaaaaaaaaaab.", "........bbbbbbbbbbbbb.", "......................" ] image8_data = [ "22 22 8 1", ". c None", "# c #000000", "e c #000084", "c c #848200", "b c #848284", "d c #c6c3c6", "a c #ffff00", "f c #ffffff", "......................", ".......#####..........", "..######aaa######.....", ".######aaaaa######....", "##bcb##a###a##bcb##...", "#bcb#ddddddddd#bcb#...", "#cbc#ddddddddd#cbc#...", "#bcb###########bcb#...", "#cbcbcbcbcbcbcbcbc#...", "#bcbcbcbcbcbcbcbcb#...", "#cbcbcbceeeeeeeeee#...", "#bcbcbcbefffffffefe...", "#cbcbcbcefeeeeefeffe..", "#bcbcbcbefffffffefffe.", "#cbcbcbcefeeeeefeffffe", "#bcbcbcbefffffffeeeeee", "#cbcbcbcefeeeeeffffffe", "#bcbcbcbeffffffffffffe", "#cbcbcbcefeeeeeeeeeefe", ".#######effffffffffffe", "........eeeeeeeeeeeeee", "......................" ] image9_data = [ "22 22 106 2", "Qt c None", "#N c #212121", "#J c #292929", "#K c #393939", "#M c #424242", ".m c #5a5a5a", "#r c #5a736b", "#A c #5a9c84", "#B c #636363", ".N c #636b6b", "#G c #63736b", "#v c #63ad8c", "#H c #6b6b6b", ".c c #6b7373", "#D c #6b7b73", ".l c #6b7b7b", ".W c #6b847b", ".t c #6b8c7b", "#x c #6b9484", "#w c #6bad94", ".u c #737373", ".v c #737b73", ".g c #737b7b", ".D c #738c84", ".7 c #739484", "#d c #73948c", "#z c #73a59c", "#p c #73b594", "#o c #73bd9c", ".b c #7b7b7b", ".O c #7b8484", "#a c #7bad94", "#q c #7bad9c", "#i c #7bb59c", ".5 c #7bbd9c", "#b c #7bbda5", "#h c #7bc69c", "#y c #7bc6a5", ".8 c #848484", ".4 c #8484b5", ".h c #849c94", "#n c #84a5ad", ".V c #84ada5", "#E c #84b59c", "#F c #84b5a5", "#j c #84bda5", "#t c #84c6a5", "#l c #84cead", ".E c #8c8c8c", "#g c #8c8cbd", "## c #8c94b5", "#m c #8cadbd", "#c c #8cb5a5", ".L c #8cc6ad", ".T c #8ccead", "#f c #8cceb5", ".a c #949494", ".n c #94a59c", "#u c #94a5ce", ".k c #94bdad", ".M c #94c6ad", ".6 c #94c6b5", ".B c #94ceb5", ".1 c #94d6b5", ".C c #94d6bd", ".9 c #94debd", ".K c #9c94d6", ".d c #9c9c9c", ".w c #9cbdb5", "#. c #9cbdd6", "#s c #9ccebd", ".2 c #9ccece", ".0 c #9cdebd", ".S c #9ce7bd", ".Z c #9ce7c6", ".U c #a594de", "#L c #a5a5a5", ".A c #a5b5de", ".3 c #a5b5ef", ".I c #a5cece", "#k c #a5dec6", ".s c #a5e7c6", ".f c #adadad", ".J c #adadef", ".R c #adb5de", ".i c #adcec6", ".P c #add6c6", ".j c #addece", "#e c #ade7ce", ".# c #b5b5b5", ".H c #b5bdde", ".Q c #b5dede", ".r c #b5efd6", ".e c #bdbdbd", ".z c #bdc6f7", ".y c #bdd6ff", ".X c #bde7d6", ".q c #bdefde", ".Y c #bdf7de", "#I c #c6c6c6", ".x c #c6def7", ".p c #c6f7e7", "#C c #ced6ce", ".G c #cedeff", ".o c #ceffef", ".F c #d6fff7", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQt.#.a.b.c.c.b.d.eQtQtQtQtQtQtQtQtQtQtQt", "QtQt.f.g.h.i.j.j.k.l.b.#QtQtQtQtQtQtQtQtQtQt", "Qt.f.m.n.o.o.p.q.r.s.t.u.eQtQtQtQtQtQtQtQtQt", ".e.v.w.q.p.x.y.z.A.B.C.D.EQtQtQtQtQtQtQtQtQt", ".d.h.F.q.G.H.I.I.J.K.L.M.N.#QtQtQtQtQtQtQtQt", ".O.P.o.Q.R.B.S.T.A.U.V.B.W.dQtQtQtQtQtQtQtQt", ".g.X.Y.Z.Z.0.1.2.3.4.5.6.7.8QtQtQtQtQtQtQtQt", ".g.j.r.0.9.1#..3###a#b#c#d.8QtQtQtQtQtQtQtQt", ".v.P#e.1.1#f.A#g.5#h#i#j.W.EQtQtQtQtQtQtQtQt", ".E#c#k#f.L#l#m#n#o#p#p#q#r.fQtQtQtQtQtQtQtQt", ".f.g#s#t#t#b#u.4#v#w#w#x.u.eQtQtQtQtQtQtQtQt", "Qt.E.t#y#b.5#z#d#p#A#A#B.d#C.f.eQtQtQtQtQtQt", "Qt.e.b#D#E#F#j#i#a.7.m.dQt.f#B.m.fQtQtQtQtQt", "QtQt.e.E.N#D.W.W#G#H.fQtQt#I.b#J#K.E.eQtQtQt", "QtQtQtQt.#.d.E.a#L#IQtQtQtQtQt#L#M#J#H.fQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.u#N#K.aQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d#K#N#H", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##B.m", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt" ] class Form1(QMainWindow): def __init__(self,parent = None,name = None,fl = 0): QMainWindow.__init__(self,parent,name,fl) self.statusBar() image0 = QPixmap(image0_data) image1 = QPixmap(image1_data) image2 = QPixmap(image2_data) image3 = QPixmap(image3_data) image4 = QPixmap(image4_data) image5 = QPixmap(image5_data) image6 = QPixmap(image6_data) image7 = QPixmap(image7_data) image8 = QPixmap(image8_data) image9 = QPixmap(image9_data) if name == None: self.setName("Form1") self.resize(961,705) self.setCaption(self.trUtf8("Form1")) self.setCentralWidget(QWidget(self,"qt_central_widget")) self.Table1 = QTable(self.centralWidget(),"Table1") self.Table1.setGeometry(QRect(60,60,540,320)) self.Table1.setNumRows(3) self.Table1.setNumCols(3) self.insertB = QPushButton(self.centralWidget(),"insertB") self.insertB.setGeometry(QRect(160,440,120,40)) self.insertB.setText(self.trUtf8("insert Data")) self.showB = QPushButton(self.centralWidget(),"showB") self.showB.setGeometry(QRect(310,440,120,40)) self.showB.setText(self.trUtf8("Show Changes")) self.fileNewAction = QAction(self,"fileNewAction") self.fileNewAction.setIconSet(QIconSet(image0)) self.fileNewAction.setText(self.trUtf8("New")) self.fileNewAction.setMenuText(self.trUtf8("&New")) self.fileNewAction.setAccel(4194382) self.fileOpenAction = QAction(self,"fileOpenAction") self.fileOpenAction.setIconSet(QIconSet(image1)) self.fileOpenAction.setText(self.trUtf8("Open")) self.fileOpenAction.setMenuText(self.trUtf8("&Open...")) self.fileOpenAction.setAccel(4194383) self.fileSaveAction = QAction(self,"fileSaveAction") self.fileSaveAction.setIconSet(QIconSet(image2)) self.fileSaveAction.setText(self.trUtf8("Save")) self.fileSaveAction.setMenuText(self.trUtf8("&Save")) self.fileSaveAction.setAccel(4194387) self.fileSaveAsAction = QAction(self,"fileSaveAsAction") self.fileSaveAsAction.setText(self.trUtf8("Save As")) self.fileSaveAsAction.setMenuText(self.trUtf8("Save &As...")) self.fileSaveAsAction.setAccel(0) self.filePrintAction = QAction(self,"filePrintAction") self.filePrintAction.setIconSet(QIconSet(image3)) self.filePrintAction.setText(self.trUtf8("Print")) self.filePrintAction.setMenuText(self.trUtf8("&Print...")) self.filePrintAction.setAccel(4194384) self.fileExitAction = QAction(self,"fileExitAction") self.fileExitAction.setText(self.trUtf8("Exit")) self.fileExitAction.setMenuText(self.trUtf8("E&xit")) self.fileExitAction.setAccel(0) self.editUndoAction = QAction(self,"editUndoAction") self.editUndoAction.setIconSet(QIconSet(image4)) self.editUndoAction.setText(self.trUtf8("Undo")) self.editUndoAction.setMenuText(self.trUtf8("&Undo")) self.editUndoAction.setAccel(4194394) self.editRedoAction = QAction(self,"editRedoAction") self.editRedoAction.setIconSet(QIconSet(image5)) self.editRedoAction.setText(self.trUtf8("Redo")) self.editRedoAction.setMenuText(self.trUtf8("&Redo")) self.editRedoAction.setAccel(4194393) self.editCutAction = QAction(self,"editCutAction") self.editCutAction.setIconSet(QIconSet(image6)) self.editCutAction.setText(self.trUtf8("Cut")) self.editCutAction.setMenuText(self.trUtf8("&Cut")) self.editCutAction.setAccel(4194392) self.editCopyAction = QAction(self,"editCopyAction") self.editCopyAction.setIconSet(QIconSet(image7)) self.editCopyAction.setText(self.trUtf8("Copy")) self.editCopyAction.setMenuText(self.trUtf8("C&opy")) self.editCopyAction.setAccel(4194371) self.editPasteAction = QAction(self,"editPasteAction") self.editPasteAction.setIconSet(QIconSet(image8)) self.editPasteAction.setText(self.trUtf8("Paste")) self.editPasteAction.setMenuText(self.trUtf8("&Paste")) self.editPasteAction.setAccel(4194390) self.editFindAction = QAction(self,"editFindAction") self.editFindAction.setIconSet(QIconSet(image9)) self.editFindAction.setText(self.trUtf8("Find")) self.editFindAction.setMenuText(self.trUtf8("&Find...")) self.editFindAction.setAccel(4194374) self.helpContentsAction = QAction(self,"helpContentsAction") self.helpContentsAction.setText(self.trUtf8("Contents")) self.helpContentsAction.setMenuText(self.trUtf8("&Contents...")) self.helpContentsAction.setAccel(0) self.helpIndexAction = QAction(self,"helpIndexAction") self.helpIndexAction.setText(self.trUtf8("Index")) self.helpIndexAction.setMenuText(self.trUtf8("&Index...")) self.helpIndexAction.setAccel(0) self.helpAboutAction = QAction(self,"helpAboutAction") self.helpAboutAction.setText(self.trUtf8("About")) self.helpAboutAction.setMenuText(self.trUtf8("&About...")) self.helpAboutAction.setAccel(0) self.menubar = QMenuBar(self,"menubar") self.fileMenu = QPopupMenu(self) self.fileNewAction.addTo(self.fileMenu) self.fileOpenAction.addTo(self.fileMenu) self.fileSaveAction.addTo(self.fileMenu) self.fileSaveAsAction.addTo(self.fileMenu) self.fileMenu.insertSeparator() self.filePrintAction.addTo(self.fileMenu) self.fileMenu.insertSeparator() self.fileExitAction.addTo(self.fileMenu) self.menubar.insertItem(self.trUtf8("&File"),self.fileMenu) self.editMenu = QPopupMenu(self) self.editUndoAction.addTo(self.editMenu) self.editRedoAction.addTo(self.editMenu) self.editMenu.insertSeparator() self.editCutAction.addTo(self.editMenu) self.editCopyAction.addTo(self.editMenu) self.editPasteAction.addTo(self.editMenu) self.editMenu.insertSeparator() self.editFindAction.addTo(self.editMenu) self.menubar.insertItem(self.trUtf8("&Edit"),self.editMenu) self.helpMenu = QPopupMenu(self) self.helpContentsAction.addTo(self.helpMenu) self.helpIndexAction.addTo(self.helpMenu) self.helpMenu.insertSeparator() self.helpAboutAction.addTo(self.helpMenu) self.menubar.insertItem(self.trUtf8("&Help"),self.helpMenu) self.connect(self.fileNewAction,SIGNAL("activated()"),self.fileNew) self.connect(self.fileOpenAction,SIGNAL("activated()"),self.fileOpen) self.connect(self.fileSaveAction,SIGNAL("activated()"),self.fileSave) self.connect(self.fileSaveAsAction,SIGNAL("activated()"),self.fileSaveAs) self.connect(self.filePrintAction,SIGNAL("activated()"),self.filePrint) self.connect(self.fileExitAction,SIGNAL("activated()"),self.fileExit) self.connect(self.editUndoAction,SIGNAL("activated()"),self.editUndo) self.connect(self.editRedoAction,SIGNAL("activated()"),self.editRedo) self.connect(self.editCutAction,SIGNAL("activated()"),self.editCut) self.connect(self.editCopyAction,SIGNAL("activated()"),self.editCopy) self.connect(self.editPasteAction,SIGNAL("activated()"),self.editPaste) self.connect(self.editFindAction,SIGNAL("activated()"),self.editFind) self.connect(self.helpIndexAction,SIGNAL("activated()"),self.helpIndex) self.connect(self.helpContentsAction,SIGNAL("activated()"),self.helpContents) self.connect(self.helpAboutAction,SIGNAL("activated()"),self.helpAbout) def fileNew(self): print "Form1.fileNew(): Not implemented yet" def fileOpen(self): print "Form1.fileOpen(): Not implemented yet" def fileSave(self): print "Form1.fileSave(): Not implemented yet" def fileSaveAs(self): print "Form1.fileSaveAs(): Not implemented yet" def filePrint(self): print "Form1.filePrint(): Not implemented yet" def fileExit(self): print "Form1.fileExit(): Not implemented yet" def editUndo(self): print "Form1.editUndo(): Not implemented yet" def editRedo(self): print "Form1.editRedo(): Not implemented yet" def editCut(self): print "Form1.editCut(): Not implemented yet" def editCopy(self): print "Form1.editCopy(): Not implemented yet" def editPaste(self): print "Form1.editPaste(): Not implemented yet" def editFind(self): print "Form1.editFind(): Not implemented yet" def helpIndex(self): print "Form1.helpIndex(): Not implemented yet" def helpContents(self): print "Form1.helpContents(): Not implemented yet" def helpAbout(self): print "Form1.helpAbout(): Not implemented yet"