我如何访问QLineEdit小部件我添加到这个Qt的例子

How do I access the QLineEdit widget I added to this Qt example?

本文关键字:Qt 添加 小部 何访问 访问 QLineEdit      更新时间:2023-10-16

我遵循了这个关于信号和插槽的Qt教程,包括删除可以在Qt设计器中自动创建的连接的部分,而不是在mainwindow.cpp中手动键入connect函数。我想让我自己的插槽移动教程的QSlider改变了我添加的QLineEdit,所以我这样做:

  1. 我在Qt设计器中添加了一个名为lineEditQLineEdit小部件到我的mainwindow.ui
  2. mainwindow.hMainWindow类定义中,我在类的底部添加了这个。

    public slots:
      void changeLineEdit() {
      ui->lineEdit->setText("Value was changed");
    }
    
  3. 在mainwindow.cpp的MainWindow构造器中,我添加了这个:(ui->horizontalSlider是在教程中制作的QSlider)

    connect(ui->horizontalSlider, SIGNAL(valueChanged(int)), SLOT(changeLineEdit()));
    

当我试图构建项目时,我得到了9错误,其中一个是"使用未定义的类型Ui::MainWindow"。我在这个编辑中做错了什么?
MainWindow类定义有一个私有指针Ui::Mainwindow *ui,所以我认为插槽定义将访问ui指针,因此lineEdit小部件包含在那里。

如果你在你的头中实现你的插槽,确保你在你的头中为你的类也包括UI::MainWindow的头。通常我会在cpp文件中实现我的插槽,但这不是必需的。