KM
14 сентября 2020 г. 17:19

не могу передать стринг с QLineEdit

с++

Добрый день, хочу создать динамичкси интерфейс, кроме интерфейса уже существует меню класс с отдельным файлом ui, в мейнвиндоу я их обьединяю, проблема в том что я не знаю почему я не могу передать стринг с QLineEdit, ну или просто текст не обязательнос стринг. Буду очень благодарна за любую помощь

  1. #include "interface.h"
  2. #include <QMouseEvent>
  3. #include <QPainter>
  4. #include <QFileDialog>
  5. #include <QGraphicsScene>
  6. #include <QDebug>
  7. #include "QLineF"
  8. #include <QResizeEvent>
  9. #include <QDial>
  10. #include <QMessageBox>
  11. #include <QObject>
  12. #include <QFile>
  13. #include <QTextStream>
  14. #include <QDrag>
  15. #include<QDataStream>
  16. #include <QString>
  17. #include <QPushButton>
  18. #include <QWidget>
  19. #include "menu.h"
  20. #include <QLineEdit>
  21. #include "ui_interface.h"
  22. #include <QListView>
  23. #include <QStandardItemModel>
  24. #include "dialog.h"
  25.  
  26. Interface::Interface(Menu *meni, QWidget *parent) : QWidget(parent), menu(meni)
  27.  
  28. {
  29. QGridLayout *mainLayout = new QGridLayout;
  30.  
  31. QPushButton* button2 = new QPushButton("add new button");
  32.  
  33. QLineEdit *myLineEdit = new QLineEdit(this);
  34. mainLayout->addWidget(myLineEdit, 0, 0);
  35. mainLayout->addWidget(button2, 0, 1);
  36.  
  37. setLayout(mainLayout);
  38.  
  39. QString nameforbtn = myLineEdit->text();
  40.  
  41. qDebug()<<nameforbtn;
  42.  
  43. QObject::connect(button2, &QPushButton::clicked, this, &Interface::newbtn );
  44. }
  45.  
  46. void Interface::newbtn(){
  47.  
  48. QString nameforbtn = myLineEdit->text();
  49.  
  50. qDebug()<<nameforbtn;
  51.  
  52. }
  53.  
  54.  
  55. Interface::~Interface()
  56.  
  57. {
  58. }
  59.  
4

Вам это нравится? Поделитесь в социальных сетях!

5
R
  • 14 сентября 2020 г. 18:06

Доброго дня спробуйте

  1. QString nameforbtn = myLineEdit->displayText();
    KM
    • 14 сентября 2020 г. 18:34
    • (ред.)

    Попробовала не помогло
    14:34:14: The program has unexpectedly finished.
    Interface::Interface(Menu meni, QWidget parent) : QWidget(parent), menu(meni)

    {

    1. QHBoxLayout *box = new QHBoxLayout(this);
    2. QPushButton* button2 = new QPushButton("add new button");
    3.  
    4. QLineEdit *myLineEdit = new QLineEdit(this);
    5.  
    6. button2->minimumSizeHint();
    7. QListWidget* list = new QListWidget;
    8. QListWidgetItem* item;
    9. item = new QListWidgetItem(list);
    10. list->addItem(item);
    11. item->setSizeHint(button2->minimumSizeHint());
    12. list->setItemWidget(item, myLineEdit);
    13. box->addWidget(list);
    14. box->addWidget(button2);
    15.  
    16. QString nameforbtn = myLineEdit->displayText();

    QObject::connect(button2, &QPushButton::clicked, this, &Interface::newbtn);

    }

    void Interface::newbtn(){

    //qDebug()<<"test";
    QString nameforbtn = myLineEdit->displayText();
    qDebug()< displayText();
    }

    Interface::~Interface()

    {
    }

      R
      • 14 сентября 2020 г. 22:08

      а звідки в тебе береться "myLineEdit" ?
      якщо ти про ось це

      1. QLineEdit *myLineEdit = new QLineEdit(this);

      то це так не працює, якщо в тебе білдається програма то значить десь ще ініціалізована myLineEdit

      бо якщо ти створюєш динамічно то тобі потрібно потім наприклад через каст отримати доступ до цих даних

        KM
        • 15 сентября 2020 г. 12:40

        так ты бы мог мне написать как именно?

          Дмитрий
          • 17 сентября 2020 г. 18:02
          1. QLineEdit *myLineEdit = new QLineEdit("line edit name", this);
          2. QString str = myLineEdit->text();
          3.  

            Комментарии

            Только авторизованные пользователи могут публиковать комментарии.
            Пожалуйста, авторизуйтесь или зарегистрируйтесь
            • Последние комментарии
            • IscanderChe
              12 апреля 2025 г. 17:12
              Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
            • AK
              1 апреля 2025 г. 11:41
              Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
            • Evgenii Legotckoi
              9 марта 2025 г. 21:02
              К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
            • VP
              9 марта 2025 г. 16:14
              Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
            • ИМ
              22 ноября 2024 г. 21:51
              Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…