Les applications interactives sont un domaine d’intérêt depuis quelques années. Mais en écrire une est une affaire banale et demande beaucoup d’efforts. Dans ce blog, je vais partager un outil que j’ai réalisé. Cet outil est un générateur de hashtags Instagram en Python avec une interface graphique et peut créer un nombre quelconque de hashtags Instagram. Nous allons utiliser pyqt5 pour créer ce générateur de hashtags Instagram.

Pourquoi créer un générateur de hashtags Instagram en Python ?

Il existe de nombreuses raisons d’utiliser un générateur de hashtags Instagram en Python. D’abord, Python est un langage très populaire, donc de nombreuses ressources et bibliothèques sont disponibles. En outre, Python est très facile à apprendre et à utiliser, donc même si vous n’êtes pas un programmeur expérimenté, vous devriez être en mesure de vous lancer rapidement.

Une autre raison d’utiliser un générateur de hashtags Python est qu’il peut automatiser le processus de recherche et d’utilisation des hashtags sur Instagram. Cela peut vous faire gagner beaucoup de temps, surtout si vous gérez plusieurs comptes ou si vous dirigez une entreprise sur Instagram. De plus, un générateur de hashtags Python peut vous aider à vous assurer que vous utilisez les hashtags les plus populaires et les plus pertinents pour vos posts, ce qui peut vous aider à obtenir plus de likes, de commentaires et de followers.

Conditions préalables :

Pyqt5:

Pyqt5 est une liaison Python de la boîte à outils d’interface graphique multiplateforme Qt, implémentée comme un plug-in Python. Il aide les développeurs d’applications à utiliser Python pour concevoir leurs propres interfaces graphiques utilisateur (GUI) à l’aide d’une interface glisser-déposer. Il offre un ensemble complet de liaisons Python pour Qt v5. Il est implémenté comme un plug-in Python et peut être utilisé dans diverses applications basées sur Qt. 

L’avantage d’utiliser Pyqt5 est qu’il est très facile d’utiliser et de concevoir des interfaces graphiques en utilisant Python, par rapport à d’autres langages comme C++. Il est également multiplateforme, ce qui signifie qu’il peut être utilisé sur une variété de systèmes d’exploitation, notamment Windows, Linux et macOS.

Pour installer pyqt5, utilisez le code suivant dans le terminal :

pip install pyqt5

Pour installer QT designer allez sur le lien suivant puis installez le logiciel :

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

Étape 1 : Lancer le qt designer et configurer l’interface graphique

  1. Ajoutez la mise en page verticale, puis disposez-la verticalement dans l’option de mise en page.
  2. Ajouter une mise en page horizontale
  3. Ajouter un bouton poussoir en bas
  4. Ajouter deux nouvelles mises en page verticales à la mise en page horizontale

La fenêtre devrait ressembler à ceci

  1. Ajouter un nouveau bouton dans chaque disposition verticale
  2. Ensuite, ajoutez une nouvelle étiquette dans chaque disposition verticale
  3. Ajoutez maintenant une nouvelle vue de liste dans la première disposition verticale.
  4. Ajouter une nouvelle arborescence dans la deuxième disposition verticale

La fenêtre devrait ressembler à ceci

  1. Maintenant, ajoutez le nouveau menu avec le fichier
  2. Puis ajoutez sauvegarder et charger dans le menu fichier

La fenêtre devrait ressembler à ceci

  1. Changer le mode de sélection simple en mode de sélection multiple dans la vue qabstractionitme
  2. À ce stade, nous pouvons renommer toutes les étiquettes et tous les boutons de l’interface.
  3. Et si vous le souhaitez, vous pouvez également essayer de modifier la taille ou la famille de vos polices pour obtenir une meilleure apparence dans la vue de qabstraction.

Étape 2 : Créer un nouveau fichier et un nouveau code python

Note : n’oubliez pas de vérifier le nom de l’objet de votre application qt car il peut être différent du mien.

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_()

Explication :

  1. Importez toutes les dépendances
  2. J’ai créé ma classe GUI et ajouté toutes les étiquettes de boutons listview et treeview.
  3. Importation des hashtags à partir des fichiers JSON.
  4. Défini le treeview et le listview.
  5. Ensuite, nous avons défini la fonction de sélection et de suppression d’un hashtag.
  6. Défini la fonction des trois boutons.

Sortie :

Après avoir lancé l’application, toutes les fonctions fonctionnent bien, comme la sélection des hashtags, la copie dans le presse-papiers, l’enregistrement du fichier et le chargement du fichier.

Le mot de la fin

Le générateur de hashtags Instagram est un outil qui peut être utilisé par tout le monde. Il est vraiment facile à utiliser et même les utilisateurs les plus férus de technologie n’auront aucun mal à créer des hashtags d’aspect professionnel pour leurs photos ! Pour créer ces hashtags, vous devez d’abord choisir une catégorie. Ensuite, vous décidez du nombre de hashtags que vous voulez générer puis il les convertira en chaînes de hashtags que vous pourrez copier sur Instagram ou dans n’importe quel post de média social. Nous espérons que vous vous êtes amusés à faire vos hashtags et n’oubliez pas de commenter ci-dessous si vous avez des questions.