Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Spanish
  4. Crear un listbox desde un txt y seleccionar una linea

Crear un listbox desde un txt y seleccionar una linea

Scheduled Pinned Locked Moved Unsolved Spanish
6 Posts 3 Posters 2.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • X Offline
    X Offline
    xamon
    wrote on last edited by
    #1

    Hola a todos, me he decidido a exponeros mi "problema", hasta ahora hacia toda la representación grafica con tkinter desde python, pero ahora me he puesto con Qt y la verdad estoy muy perdido, a si a ver si podéis ayudarme a resolver esta cuestión:
    Necesito hacer una pantalla que lea las lineas de un fichero txt y que pueda seleccionar una linea de las que salgan, puede que haya una o 10, no sera muy largo, el formato seria como ejemplo:
    1-Ejemplo de linea 1-1.29-1.615
    2-Ejemplo de linea 2-2.0-1.15
    Solo necesito saber que linea a sido seleccionada, en este caso, la 1 o la 2.
    Por lo que veo qt se programa con c++, y tengo una duda si esta selección podre pasarla a python.

    Pues nada, a ver si la gente que por lo que he visto sois unos cracks, podéis echarme una mano.

    Saludos.

    1 Reply Last reply
    0
    • juankiJ Offline
      juankiJ Offline
      juanki
      Moderators
      wrote on last edited by
      #2

      Hola

      Qt sí puede usarse con python, pero la verdad no tengo ni idea de donde obtener información ni de ningún manual ni nada, pero si buscas un poco seguro no te costará encontrar.

      Lo que necesitas no es complicado de hacer, el componente o widget que necesitas es un QCombobox.

      Puedes ir leyendo el archivo y añadir cada una de las líneas del archivo al QComboBox.

      Y luego puedes usar la señal currentIndexChanged(int index) si solo te interesa saber el elemento que se seleccionó o currentIndexChanged(const QString &text) si quieres obtener el texto seleccionado.

      Es fácil, pero tienes que tener unas bases de como funciona Qt. Repásate la documentación. También hay mucho material por youtube, incluso en español.

      Un saludo

      Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
      Procura escribir correctamente y sin faltas de ortografía.

      Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

      1 Reply Last reply
      0
      • X Offline
        X Offline
        xamon
        wrote on last edited by
        #3

        Pues muchísimas gracias juanki, te haré caso y si tengo alguna duda mas la expondre.

        Saludos.

        1 Reply Last reply
        0
        • gabodevG Offline
          gabodevG Offline
          gabodev
          wrote on last edited by
          #4

          Hola!

          Te sirve algo así?

          from PyQt5.QtWidgets import (
              QWidget,
              QComboBox,
              QVBoxLayout,
              QApplication
          )
          
          
          class Widget(QWidget):
              def __init__(self, parent=None):
                  QWidget.__init__(self, parent)
                  box = QVBoxLayout(self)
                  self.combo = QComboBox()
                  self._populate_combo()
                  self.combo.currentIndexChanged.connect(
                      self.__on_current_index_changed)
                  box.addWidget(self.combo)
          
              def __on_current_index_changed(self):
                  print(self.combo.currentText())
          
              def _populate_combo(self):
                  with open('archivo.txt') as f:
                      content = f.read()
                  self.combo.addItems(content.splitlines())
          
          
          if __name__ == "__main__":
              import sys
              app = QApplication([])
              w = Widget()
              w.show()
              sys.exit(app.exec_())
          

          Saludos!

          Developer at Ninja-IDE

          1 Reply Last reply
          0
          • X Offline
            X Offline
            xamon
            wrote on last edited by
            #5

            Hola gabodev, lo probare y te cuento, tiene muy buena pinta.

            Saludos.

            1 Reply Last reply
            0
            • X Offline
              X Offline
              xamon
              wrote on last edited by
              #6

              Vaya, por lo que veo es para qt5, tengo una rasp y tengo el qt4, se podría adaptar, perdona gabodev, pero soy un autentico novato.

              Saludos.

              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved