2012-06-06 37 views
0

作品我一直在使用PyQt4的建立GUI,在Linux上工作得很好Python應用程序,但在Windows不被接收的信號:/PyQt的信號不能在Windows

我的代碼是:

import sys 
sys.path.append("..") 
from ui import Ui_MainWindow 
from dlgContador import Ui_dlgContador 
from PyQt4 import QtCore, QtGui 
from funciones.archivosOps import archivosOps 


class ArchivosGui(QtGui.QMainWindow): 
    def __init__(self): 
     self.archivo=None 
     self.app=QtGui.QApplication(sys.argv) 
     QtGui.QMainWindow.__init__(self) 
     self.mainWindow=Ui_MainWindow() 
     self.mainWindow.setupUi(self) 
     self.__connectFunctions() 
     self.setWindowTitle("Editor de Texto") 
     self.show() 
     self.app.exec_() 


    pass 

    def __connectFunctions(self): 
    self.connect(self.mainWindow.actionAbrir,QtCore.SIGNAL("activated()"), self.abrir) 
    self.connect(self.mainWindow.actionContar_Palabras,QtCore.SIGNAL("activated()"),self.info) 
    self.connect(self.mainWindow.actionGuardar,QtCore.SIGNAL("activated()"),self.guardar) 
    self.connect(self.mainWindow.actionGuardarComo,QtCore.SIGNAL("activated()"),self.guardarComo) 
    pass 

我做錯了什麼? :/

+1

'__connectFunctions()'是類之外,是一個複製粘貼錯誤還是一樣,在你的代碼? – Junuxx

+0

哇我沒有注意到。 ..不,我正在閱讀一些關於使用pyqt進行開發的文章,但沒有不是複製粘貼。 – rafuru

+0

這是一個粘貼問題上的代碼的問題,在我的源代碼中該方法在類 – rafuru

回答

0

在用於Linux的QTDesigner上,QTAction有一個名爲「Activated()」的信號,並且只能在Linux上運行,所以我的be beper會被破壞。

只需要改變「激活()」到「觸發()」,將正常工作