Ainurу меня такое было когда файл был не в UTF-8 кодировке, пока работаешь все ок, закрыл-открыл вся кирилица превратилась в нечитаемые символы.
Скрипт запускаю в pycharm и spyder, у них свои глюки. И кириллица превращается в ?
Вот вам небольшой пример, не стал заморачиваться с UI, весь инефейс в коде нарисовал. Ну както так.
# -*- coding: utf-8 -*- import sys from PyQt4 import QtCore, QtGui from PyQt4.QtSql import * class MyWin(QtGui.QMainWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # РИсуем ГУЙ , чтобы не заморачиваться с UI self.setWindowTitle('--Main Window--') centralWidget = QtGui.QWidget(self) self.setCentralWidget(centralWidget) gridLayout = QtGui.QGridLayout(centralWidget) centralWidget.setLayout(gridLayout) self.lineEdits = [] for i in range(3): self.lineEdits.append(QtGui.QLineEdit(self)) gridLayout.addWidget(self.lineEdits[i], 0, i) self.outputWidget = QtGui.QTextEdit(self) pushBtn = QtGui.QPushButton(self, text='MyFunct') loadBtn = QtGui.QPushButton(self, text='Load data..') checkBtn = QtGui.QPushButton(self, text='check data..') gridLayout.addWidget(self.outputWidget, 1,0,1,3) gridLayout.addWidget(pushBtn, 2, 0) gridLayout.addWidget(loadBtn, 2, 1) gridLayout.addWidget(checkBtn, 2, 2) # ГУЙ нарисован pushBtn.clicked.connect(self.MyFunction) loadBtn.clicked.connect(self.loadData) checkBtn.clicked.connect(self.checkData) self.show() def MyFunction(self): ''' Метод заглушка, напсать что нужно свое ''' self.outputWidget.setText('Нажата кнопка "MyFunct" \n Текст в поле 1: {} \n Текст в поле 2: {} \n Текст в поле 3: {}'.format(self.lineEdits[0].text(), self.lineEdits[1].text(), self.lineEdits[2].text())) def loadData(self): ''' Метод заглушка, напсать что нужно свое ''' self.loadWindow = LoadWindow(self.lineEdits[0].text()) def checkData(self): ''' Метод заглушка, напсать что нужно свое ''' self.checkWindow = CheckWindow(self.lineEdits[1].text(),self.lineEdits[2].text() ) class LoadWindow(QtGui.QWidget): def __init__(self, connParams): super().__init__() self.setWindowTitle('--Load Data Window--') hLayout = QtGui.QHBoxLayout(self) self.outputWidget = QtGui.QTextEdit(self) hLayout.addWidget(self.outputWidget) self.outputWidget.setText('Нажата кнопка "Load data.." \n Параметры соединения с базой:{}'.format(connParams)) self.show() class CheckWindow(QtGui.QWidget): def __init__(self, data1, data2): super().__init__() self.setWindowTitle('--Check Data Window--') hLayout = QtGui.QHBoxLayout(self) self.outputWidget = QtGui.QTextEdit(self) hLayout.addWidget(self.outputWidget) self.outputWidget.setText('Нажата кнопка "Check data.." \n Данные в поле2:{} \n Данные в поле3:{} '.format(data1, data2)) self.show() if __name__=="__main__": app = QtGui.QApplication(sys.argv) myapp = MyWin() myapp.show() sys.exit(app.exec_())