Interaktive Anwendungen sind seit ein paar Jahren ein interessantes Thema. Aber eine solche zu schreiben ist eine triviale Angelegenheit und erfordert eine Menge Aufwand. In diesem Blog werde ich ein Tool vorstellen, das ich entwickelt habe. Dieses Tool ist ein Instagram-Hashtag-Generator in Python mit einer grafischen Oberfläche und kann eine beliebige Anzahl von Instagram-Hashtags erstellen. Wir werden pyqt5 für die Erstellung dieses Instagram-Hashtag-Generators verwenden.

Warum einen Instagram Hashtag Generator in Python erstellen?

Es gibt viele Gründe, einen Instagram-Hashtag-Generator in Python zu verwenden. Zum einen ist Python eine sehr beliebte Sprache, sodass viele Ressourcen und Bibliotheken verfügbar sind. Außerdem ist Python sehr einfach zu erlernen und zu verwenden. Selbst wenn Sie kein erfahrener Programmierer sind, sollten Sie in der Lage sein, schnell loszulegen.

Ein weiterer Grund für die Verwendung eines Python-Hashtag-Generators ist, dass er den Prozess der Suche und Verwendung von Hashtags auf Instagram automatisieren kann. Das kann Ihnen viel Zeit sparen, vor allem wenn Sie mehrere Konten verwalten oder ein Unternehmen auf Instagram betreiben. Außerdem können Sie mit dem Python Hashtag Generator sicherstellen, dass Sie die beliebtesten und relevantesten Hashtags für Ihre Beiträge verwenden, was Ihnen helfen kann, mehr Likes, Kommentare und Follower zu erhalten.

Voraussetzungen:

Pyqt5:

Pyqt5 ist eine Python-Anbindung des plattformübergreifenden GUI-Toolkits Qt, die als Python-Plug-in implementiert ist. Es hilft App-Entwicklern, mit Python ihre eigenen grafischen Benutzeroberflächen (GUIs) über eine Drag-and-Drop-Schnittstelle zu entwerfen. Es bietet einen umfassenden Satz von Python-Bindings für Qt v5, ist als Python-Plug-in implementiert und kann in verschiedenen Qt-basierten Anwendungen eingesetzt werden. 

Der Vorteil von Pyqt5 ist, dass es im Vergleich zu anderen Sprachen wie C++ sehr einfach ist, GUI-Schnittstellen mit Python zu entwerfen und zu verwenden. Außerdem ist es plattformübergreifend, d. h. es kann auf einer Vielzahl von Betriebssystemen verwendet werden, darunter Windows, Linux und macOS.

Um pyqt5 zu installieren, verwenden Sie den folgenden Code im Terminal:

pip install pyqt5

Um QT Designer zu installieren, besuchen Sie den folgenden Link und installieren Sie die Software:

https://build-system.fman.io/qt-designer-download

Schritt 1: Starten Sie den qt Designer und richten Sie die grafische Oberfläche ein

  1. Fügen Sie das vertikale Layout hinzu und legen Sie es dann in der Layout-Option vertikal aus.
  2. Hinzufügen eines horizontalen Layouts
  3. Hinzufügen einer Drucktaste am unteren Rand
  4. Zwei neue vertikale Layouts zum horizontalen Layout hinzufügen

Das Fenster sollte folgendermaßen aussehen

  1. Hinzufügen einer neuen Schaltfläche in jedem vertikalen Layout
  2. Fügen Sie dann in jedem vertikalen Layout eine neue Beschriftung hinzu
  3. Fügen Sie nun eine neue Listenansicht in das erste vertikale Layout ein
  4. Hinzufügen einer neuen Baumansicht im zweiten vertikalen Layout

Das Fenster sollte folgendermaßen aussehen

  1. Fügen Sie nun das neue Menü mit der Datei 
  2. Dann fügen Sie Speichern und Laden im Dateimenü hinzu

Das Fenster sollte wie folgt aussehen

  1. Ändern des Einzelauswahlmodus in den Mehrfachauswahlmodus in der Qabstraktionsansicht
  2. An dieser Stelle können wir alle Beschriftungen und Schaltflächen der Schnittstelle umbenennen.
  3. Und wenn Sie möchten, können Sie auch versuchen, die Schriftgröße oder die Schriftfamilie zu ändern, um ein besseres Erscheinungsbild in der Qabstraktionsansicht zu erreichen.

Schritt 2: Erstellen Sie eine neue Python-Datei und Code

Hinweis: Vergessen Sie nicht, den Objektnamen Ihrer QT-Anwendung zu überprüfen, da er sich von meinem unterscheiden kann.

from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont
from PyQt5 import uic
from PyQt5.Qt import QStandardItemModel, QStandardItem
import pickle
import json
# We need to import json because we are importing the hashtags from a json file.

# lest create mygui class

class MyGUI(QMainWindow):

    def __init__(self):
        super(MyGUI, self).__init__()
        uic.loadUi('hastag.ui', self)
        self.show()

        # set the title
        self.setWindowTitle("hastag genrator")
        # then initialize the dictionary with json file
        self.hastag_dict = json.load(open('text.json'))
        self.init_tree_view()


        self.slected = []

        self.list_model = QStandardItemModel()
        self.listView.setModel(self.list_model)
     
        self.pushButton.clicked.connect(self.copy_to_clipboard)
        self.pushButton_2.clicked.connect(self.choose_selected)
        self.pushButton_3.clicked.connect(self.remove_selected)

        self.actionsave.triggered.connect(self.save_hashtag)
        self.actionLoad.triggered.connect(self.load_hashtag)


    def init_tree_view(self):
        self.treeView.setHeaderHidden(True)


        # define model
        self.tree_model = QStandardItemModel()
        self.treeView.setModel(self.tree_model)

        root_node = self.tree_model.invisibleRootItem()

        for category in self.hastag_dict.keys():
            category_item = QStandardItem(category)
            for hastag in self.hastag_dict[category]:
                category_item.appendRow(QStandardItem(hastag))
            root_node.appendRow(category_item)

        self.treeView.expandAll()

    def choose_selected(self):
        if len(self.treeView.selectedIndexes()) != 0:
            for index in self.treeView.selectedIndexes():
                if index.parent().isValid():
                    if index.data() not in self.slected:
                        self.slected.append(index.data())
                        self.list_model.appendRow(QStandardItem(index.data()))



 
    def remove_selected(self):
        if len(self.listView.selectedIndexes()) != 0:
            for index in reversed(sorted(self.listView.selectedIndexes())):
                self.slected.remove(index.data())
                self.list_model.removeRow(index.row())


 
    def copy_to_clipboard(self):
        if (len(self.slected) != 0):
            clipboard = QApplication.clipboard()
            clipboard.setText('#' + '#'.join(self.slected))


    def save_hashtag(self):
        filename, confirmed = QFileDialog.getSaveFileName(self, 'Save Hashtag', '', 'Tag File (*.tags)')
        if confirmed:
            with(open(filename, 'wb')) as f:
                pickle.dump(self.selected, f)

    def load_hashtag(self):
        filename, confirmed = QFileDialog.getOpenFileName(self, 'Load Hashtag', '', 'Tag File (*.tags)')
        if confirmed:
            with (open(filename, 'rb')) as f:
                self.selected = pickle.load(f)
            self.list_model = QStandardItemModel()
            for tag in self.selected:
                self.list_model.appendRow(QStandardItem(tag))
            self.listView.setModel(self.list_model)



app = QApplication([])
window = MyGUI()
app.exec_()

Erläuterung:

  1. Importieren Sie alle Abhängigkeiten
  2. Erstellt meine GUI-Klasse und fügte alle Schaltflächen Etiketten listview und treeview.
  3. Importierte Hashtags aus den JSON-Dateien.
  4. Definiert die Baumansicht und die Listenansicht.
  5. Dann wurde die Funktion zum Auswählen und Entfernen eines Hashtags definiert
  6. Definiert die Funktion aller drei Tasten.

Ausgabe:

Nach dem Ausführen der App funktionieren alle Funktionen wie die Auswahl der Hashtags, das Kopieren in die Zwischenablage, das Speichern der Datei und das Laden der Datei einwandfrei.

Letzte Worte

Der Instagram-Hashtag-Generator ist ein Tool, das von jedem verwendet werden kann. Es ist wirklich einfach zu bedienen und selbst die technisch versiertesten Nutzer werden es leicht haben, professionell aussehende Hashtags für ihre Fotos zu erstellen! Um diese Hashtags zu erstellen, wählen Sie zunächst eine Kategorie aus. Dann entscheiden Sie, wie viele Hashtags Sie erstellen möchten, und das Programm wandelt sie in Hashtags um, die Sie in Instagram oder andere soziale Medien kopieren können. Wir hoffen, ihr hattet Spaß beim Erstellen eurer Hashtags und vergesst nicht, unten zu kommentieren, wenn ihr Fragen habt.