Skip to main content

Sneak-peek at py-qt

Learned some py-qt to build a front-end for the sms api

#!/usr/bin/python

import sitsms
import sys
from PyQt4 import QtGui, QtCore

class Sitsms(QtGui.QWidget):

    def __init__(self):
        super(Sitsms, self).__init__()

        self.initUI()

    def initUI(self):

        number = QtGui.QLabel("Number ",self)
        number.move(20,20);

        message = QtGui.QLabel("Message ",self)
        message.move(20,60);

        self.numberEdit = QtGui.QLineEdit(self)
        self.numberEdit.resize(190,24);
        self.numberEdit.move(80,20);
        self.messageEdit = QtGui.QTextEdit(self)
        self.messageEdit.resize(220,200)
        self.messageEdit.move(80,60);

        self.sendbtn = QtGui.QPushButton("send",self)
        self.sendbtn.setStyleSheet("QPushButton:pressed { background-color: green }"
                      "QPushButton:released { background-color: gray }" )
        quitbtn = QtGui.QPushButton("Exit",self)

        self.sendbtn.clicked.connect(self.buttonClicked)
        self.sendbtn.move(80,280)

        quitbtn.clicked.connect(QtCore.QCoreApplication.instance().quit)
        quitbtn.move(200,280)

        self.setGeometry(300,350,320,320)
        self.setFixedSize(320,320)
        self.setWindowTitle('SitSms')
        self.show()


    def buttonClicked(self):
        numlen = len(self.numberEdit.text())
        msglen = len(self.messageEdit.toPlainText())

        if numlen==0:
            QtGui.QMessageBox.information(self,'info',"please fill your number",1)
        elif numlen>10:
            QtGui.QMessageBox.information(self,'info',"number count must be 10 digits",1)
 else:
     num = self.numberEdit.text()
     if msglen>145:
         QtGui.QMessageBox.information(self,'info',"your message is trimmed to 145 chars",1)
     message = self.messageEdit.toPlainText()[:145]
     sitsms.loginsite()
     sitsms.sendsms(num,message)
     QtGui.QMessageBox.information(self,'info','Message delivered to '+num,1)

def main():
    app = QtGui.QApplication(sys.argv)
    ex = Sitsms()

    sys.exit(app.exec_())

if __name__ == '__main__':
    main()


find full source code at github


Comments

Popular posts from this blog

கட்டற்றமென்பொருள் பற்றிய மாத மின்இதழ்

உலகெங்கிலும் உள்ள தமிழ் மக்களுக்கு கணினிதொழில்நுட்பத்தை பற்றி அறிமுகம் செய்யும் கணியம் என்ற புதிய மாத மின்னிதழை வெளியிடுவதில் பெருமகிழ்ச்சி அடைகிறோம். கணினி கற்க ஆங்கிலம் தடையாக இருந்த காலம் மாறி தொழில்னுட்பங்கள் யாவும் தமிழில் பெருகும் இந்த காலத்தில் மென்பொருள் பற்றிய நுட்பங்களை தமிழில் வழங்குவதில் பெருமை கொள்கிறோம். இந்த இதழின் கட்டுரைகள் : கட்டற்ற மென்பொருள் லினக்ஸ் பயனர் குழு – ஓர் அறிமுகம் உபுண்டு நிறுவுதல்

விண்டோஸை விட லினக்ஸ் சிறந்தது: பத்து காரணங்கள்

லினக்ஸ் பயன்படுத்த கடினம், விண்டோஸே சிறந்தது என கருதுபவர்களுக்காக 1. வைரஸ் அபாயம் கிடையாது: ஆம். பொரும்பாலான வைரஸ் நிரல்கள் விண்டோஸிற்காக எழுதப்படுபவை. லினக்ஸால் win32  நிரல்களை  செயல்படுத்த முடியாது. எனவே வைரஸ் வரும் என்ற கவலை வேண்டாம். 2. திற-மூலமென்பொருள் - விண்டோஸ் போல் அல்லாமல் லினக்ஸ் ஆனது திற-மூல-இயங்குதளம்(open-source).  எனவே நம்முடைய தேவைக்கு ஏற்ப நாம் இதனை மாற்றவே, பிறருக்கு அளிக்கவோ முழு சுதந்திரம் உண்டு.

ARP/RARP full simulation program

server.c #include "stdio.h" #include "stdlib.h" #include "string.h" #include "sys/types.h" #include "sys/socket.h" #include "arpa/inet.h" #include "netinet/in.h" #define SA struct sockaddr struct IPmac { char ip[100]; char mac[100]; }; int main() { int sockfd,len,i; struct sockaddr_in servaddr; char buff[30],temp[30],ip[30],mac[30];