Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Solved Add file_name for each text_edit

    General and Desktop
    2
    3
    206
    Loading More Posts
    • 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.
    • K
      Kinesis last edited by

      I am stuck in adding file names to each text_edits which are put in list widget . Here is the code . I don't know how to add file names at the bottom of each text_edits.I would appreciate any answers .Thanks.

      ui->listWidget->setFlow(QListView::LeftToRight);
      ui->listWidget->setMinimumSize(860,380);
      ui->listWidget->setGridSize(QSize(420, 380));
      ui->listWidget->setResizeMode(QListView::Adjust);
      ui->listWidget->setViewMode(QListView::ListMode);
      ui->listWidget->setWrapping(true);
      QDir directory = QFileDialog::getExistingDirectory(this, tr("Open      Directory"),"/home",
                                                                                                           QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);
      
      
      
      
      directory.setNameFilters({"*.log", "*.txt" , "*.sh" , "*.yml"});
      
      for(const QFileInfo & finfo: directory.entryInfoList()){
          
          m_textEdit = new QTextEdit;
          m_textEdit -> setReadOnly(true);
          QFile data(finfo.absoluteFilePath()) ;
          data.open(QIODevice::ReadOnly);
          QTextStream stream(&data);
          QString content = stream.readAll();
          data.close();
          
          m_textEdit->setText(content);
          auto item = new QListWidgetItem("", ui->listWidget);
          m_textEdit->setMinimumSize(400,360);
          ui->listWidget->setItemWidget(item, m_textEdit);
          }
      
      D 1 Reply Last reply Reply Quote 0
      • D
        Devopia53 @Kinesis last edited by

        @Kinesis

        Add the layout to the previous example. like this:

        ui->listWidget->setFlow(QListView::LeftToRight);
        ui->listWidget->setGridSize(QSize(110, 90));
        ui->listWidget->setResizeMode(QListView::Adjust);
        ui->listWidget->setViewMode(QListView::ListMode);
        ui->listWidget->setWrapping(true);
        
        for (const QFileInfo & finfo : directory.entryInfoList()) {
            [...]
            auto    item = new QListWidgetItem("", ui->listWidget);
            auto    widget = new QWidget;
            auto    text = new QTextEdit(content);
            auto    label = new QLabel(finfo.fileName());
            auto    vb = new QVBoxLayout;
        
            vb->addWidget(text, 9);
            vb->addWidget(label, 1);
            widget->setLayout(vb);
            widget->setMinimumSize(100, 80);
            ui->listWidget->setItemWidget(item, widget);
        }
        
        K 1 Reply Last reply Reply Quote 1
        • K
          Kinesis @Devopia53 last edited by

          @Devopia53
          it works! Thanks again for your help .

          1 Reply Last reply Reply Quote 0
          • First post
            Last post