1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
from PyQt4 import QtCore, QtGui from PyQt4.QtCore import * from PyQt4.QtGui import *
import sys
class (QWidget): def __init__(self, parent): QWidget.__init__(self) self.parent = parent
self.initUI()
def initUI(self): self.gridlayout = QtGui.QGridLayout()
for i in range(20): self.gridlayout.setColumnStretch(i, 1) self.gridlayout.setRowStretch(i, 1)
lb1 = QLabel(u'账户:') lb2 = QLabel(u'密码:') self.userEntry = QLineEdit() self.passEntry = QLineEdit() self.passEntry.setEchoMode(QLineEdit.Password) self.loginBtn = QtGui.QPushButton(u"登录") self.loginBtn.setFixedSize(40, 20) self.connect(self.loginBtn, QtCore.SIGNAL('clicked()'), self.onLoginButton)
self.gridlayout.addWidget(lb1, 0, 0) self.gridlayout.addWidget(lb2, 1, 0) self.gridlayout.addWidget(self.userEntry, 0, 1, 1, 3) self.gridlayout.addWidget(self.passEntry, 1, 1, 1, 3) self.gridlayout.addWidget(self.loginBtn, 0, 4, 1, 2)
self.setLayout(self.gridlayout)
def onLoginButton(self): username = self.userEntry.text() password = self.passEntry.text() QtGui.QMessageBox.about(self, username + u'登录成功', u"密码是:" + password) QTextCodec.setCodecForCStrings(QTextCodec.codecForName("utf-8")) print(username + u'登录成功!n' + u"密码是:" + password)
class EmittingStream(QtCore.QObject): textWritten = QtCore.pyqtSignal(str)
def write(self, text): self.textWritten.emit(str(text))
class MainWindow(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent)
tabs = QtGui.QTabWidget(self)
tab1 = QtGui.QWidget() vbox = QtGui.QVBoxLayout() console = MyConsole(self) vbox.addWidget(console) tab1.setLayout(vbox)
self.tab2 = QTextEdit()
tabs.addTab(tab1, u"控制台") tabs.addTab(self.tab2, u"日志输出")
tabs.resize(500, 350) self.resize(500, 350)
self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint) self.show()
sys.stdout = EmittingStream(textWritten=self.normalOutputWritten) sys.stderr = EmittingStream(textWritten=self.normalOutputWritten)
def __del__(self): sys.stdout = sys.__stdout__ sys.stderr = sys.__stderr__
def normalOutputWritten(self, text): cursor = self.tab2.textCursor() cursor.movePosition(QtGui.QTextCursor.End) cursor.insertText(text) self.tab2.setTextCursor(cursor) self.tab2.ensureCursorVisible()
def main(): app = QtGui.QApplication(sys.argv) win = MainWindow() sys.exit(app.exec_())
if __name__ == '__main__': main()
|
近期评论