Σκριπτ για να βλέπεις την IP (pyqt)

...ερωτήσεις & προβλήματα με τις εκπαιδευτικές εφαρμογές του ubuntu

Συντονιστής: ubuderix

Σκριπτ για να βλέπεις την IP (pyqt)

Δημοσίευσηαπό malos » 23 Ιουν 2021, 04:10

Το παρακάτω σκριπτ είναι του χρήστη ftso.

To χρησιμοποιώ 10-12 από τότε που το έβαλε εδώ μετά από αίτημά μου για σκριπτάκι που να βγάζει ένα εικονίδιο στην περιοχή ειδοποίησης και χωρίς κλικ (αλλά και με κλικ) να δείχνει με hover (mouse on το λένε κι αλλιώς νομίζω) την IP σε ένα pop up παραθυράκι. Κάθομαι τρεις ώρες και ψάχνω να το βρω αλλα΄η αναζήτηση με προδίδει. Το παραθέτω λοιπόν σε κώδικα για να κάνω μετά και αίτημά μου.

Κώδικας: Επιλογή όλων
#!/usr/bin/env python
# -*- coding: utf-8 -*

import sys
from PyQt4 import QtCore, QtGui, uic
import subprocess,sys,os,urllib2,string

unioptions = ['--unicode', '-u', '--utf8', '--utf-8']



try:
  from PyQt4 import QtCore, QtGui
except ImportError :
  print "You need to have PyQT4 installed..."
  exit()


thisis = u"Είναι η : "

#---Tray Icon Message Dialog---#
def MsgInfo( reason ):
   
   if reason == IpIcon.Trigger:
     
      pub_ip = urllib2.urlopen("http://checkip.dyndns.org").read()
      pub_ip = pub_ip.replace("Current IP Address:","")
      pub_ip = pub_ip.replace("<html><head><title>Current IP Check</title></head><body>","")
      pub_ip = pub_ip.replace("</body></html>","")
      IpIcon.showMessage(u"Η IP σου ", thisis  + pub_ip, 55000)
     

def main():
   #-----Main App-----#
   global Ip
   global IpIcon
   Ip = QtGui.QApplication(sys.argv)
   
   
   IpIcon = QtGui.QSystemTrayIcon()
   Ip.setQuitOnLastWindowClosed(False)
   pub_ip = urllib2.urlopen("http://checkip.dyndns.org/").read()
   IpIcon.setToolTip(pub_ip)
   #---Tray Menu Icons---#
   QuitIcon = QtGui.QIcon("ip.png")
   TrayIcon = QtGui.QIcon("ip.png")
   
        #-----Tray Menu-----#   
   global ActionsMenu
   ActionsMenu = QtGui.QMenu()
   QuitAction = ActionsMenu.addAction(QuitIcon,u"Κλείσε !!!")
   
   #-----Tray Menu Actions-----#
   Ip.connect(QuitAction,QtCore.SIGNAL("triggered()"),Ip.exit)
   IpIcon.connect( IpIcon, QtCore.SIGNAL( "activated(QSystemTrayIcon::ActivationReason)" ), MsgInfo )


   #-----Methods-----#
   IpIcon.setIcon(TrayIcon)
   IpIcon.setContextMenu(ActionsMenu)

   IpIcon.show()
   
   Ip.exec_()
main()



Το αίτημα μου είναι:
Επειδή έβαλα καινούργια έκδοση του MInt η οποία δεν έχει καθόλου pyqt4 και δεδομένου ότι κάπου είδα γραμμένο στο ίντερνετ ότι η Qt δεν υποστηρίζει πλέον το pyqt4
(δεν κατάλαβα τι σημαίνει αυτό. Είναι εταιρεία η Qt που προωθεί το pyqt; :problem: ) κι εγώ έβαλα λοιπόν το pyqt5,
Μπορείτε να βοηθήσετε να προσαρμοστεί ο κώδικας στα σύγχρονα δεδομένα και να δουλέψει το σκριπτ με pyqt5;

Ευχαριστώ
Επεξεργαστής: AMD Ryzen 9 5900x
Μνήμη Gskill 16gb (2X8gb), 3200 mh, CL 14
Μητρική: Asrock X570 phantom gaming X
Τροφοδοτικό: Corsair 850 platinum
Δίσκος: SSD Corsair MP600 (1 TB)
Άβαταρ μέλους
malos
saintTUX
saintTUX
 
Δημοσιεύσεις: 1234
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Σκριπτ για να βλέπεις την IP (pyqt)

Δημοσίευσηαπό malos » 02 Ιούλ 2021, 18:46

Το ξαναφέρνω επάνω παιδιά μπας και δεν το είδατε.
Λογικά δεν θα πρέπει να υπάρχουν οι ίδιες βιβλιοθήκες και στην έκδοση 5;
Επεξεργαστής: AMD Ryzen 9 5900x
Μνήμη Gskill 16gb (2X8gb), 3200 mh, CL 14
Μητρική: Asrock X570 phantom gaming X
Τροφοδοτικό: Corsair 850 platinum
Δίσκος: SSD Corsair MP600 (1 TB)
Άβαταρ μέλους
malos
saintTUX
saintTUX
 
Δημοσιεύσεις: 1234
Εγγραφή: 02 Νοέμ 2008, 12:00
Εκτύπωση

Re: Σκριπτ για να βλέπεις την IP (pyqt)

Δημοσίευσηαπό Maras » 07 Ιούλ 2021, 13:48

Βάζω τον κώδικα και εδώ για να υπάρχει για τα μέλη του ubuntu-gr. Ο κώδικας είναι επέκταση στον κώδικα του χρήστη dancaer69 στο forum : linux-user.gr
Κώδικας: Επιλογή όλων
# -*- coding: utf-8 -*

import sys
from PyQt5 import QtCore, QtGui, QtWidgets, uic
import subprocess,sys,os,urllib.request,string

unioptions = ['--unicode', '-u', '--utf8', '--utf-8']

try:
  from PyQt5 import QtCore, QtGui, QtWidgets
except ImportError :
  print("You need to have PyQT5 installed...")
  exit()


f*** = u"Είναι η : "

   
#---Tray Icon Message Dialog---#
def MsgInfo(reason):
   if reason == IpIcon.Trigger:
      pub_ip = str(urllib.request.urlopen("http://checkip.dyndns.org/").read())
      pub_ip = pub_ip.replace("Current IP Address:","")
      pub_ip = pub_ip.replace("b'<html><head><title>Current IP Check</title></head><body>","")
      pub_ip = pub_ip.replace("</body></html>\\r\\n'","")
      IpIcon.showMessage(u"IP ρε μαλάκα", f***  + pub_ip, IpIcon.Information, 5000)

def exit_app():
   Ip.exit()     

def main():
   #-----Main App-----#
   global Ip
   global IpIcon
   Ip = QtWidgets.QApplication(sys.argv)
   IpIcon = QtWidgets.QSystemTrayIcon()
   Ip.setQuitOnLastWindowClosed(False)
   pub_ip = str(urllib.request.urlopen("http://checkip.dyndns.org/").read())
   pub_ip = pub_ip.replace("Current IP Address:","")
   pub_ip = pub_ip.replace("b'<html><head><title>Current IP Check</title></head><body>","")
   pub_ip = pub_ip.replace("</body></html>\\r\\n'","")
   IpIcon.setToolTip(u"IP ρε μαλάκα"+str(pub_ip))

   #---Tray Menu Icons---#
   QuitIcon = QtGui.QIcon("ip.png")
   TrayIcon = QtGui.QIcon("ip.png")
   
   #-----Tray Menu-----#   
   global ActionsMenu
   ActionsMenu = QtWidgets.QMenu()
   QuitAction = ActionsMenu.addAction(QuitIcon,u"Πάρε τον πούλο !!!")
   
   #-----Tray Menu Actions-----#
   QuitAction.triggered.connect(exit_app)
   IpIcon.activated.connect(MsgInfo)

   #-----Methods-----#
   IpIcon.setIcon(TrayIcon)
   IpIcon.setContextMenu(ActionsMenu)

   IpIcon.show()
   
   Ip.exec_()

main()


Μπορεί να γίνει και καλύτερο - συντομότερο…
Τα πακέτα που θα πρέπει να εγκαταστήσεις είναι :
Κώδικας: Επιλογή όλων
libc-dev-bin libc6-dev libcrypt-dev libexpat1-dev libpython3-dev libpython3.8-dev pyqt5-dev python3-dev python3-distutils python3-lib2to3 python3-sip python3-sip-dev python3.8-dev sip-dev zlib1g-dev python-is-python3 libqt5designer5 libqt5help5 libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5xml5 python3-pyqt5

Δεν είναι απαραίτητα όλα, αλλά όταν εγκαταστήσεις τα βασικά δηλαδή python3-pyqt5,
python-is-python3, pyqt5-dev, python3-dev “τραβάνε” μαζί τους και τα υπόλοιπα.
“Long is the way, and hard, that out of hell leads up to light.”
Άβαταρ μέλους
Maras
saintTUX
saintTUX
 
Δημοσιεύσεις: 1491
Εγγραφή: 25 Ιούλ 2017, 12:49
Εκτύπωση


  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Εκπαιδευτικές εφαρμογές