qt怎么在重写的绘图更新函数中获取ui上控件的信息
时间: 2023-05-26 10:06:42 浏览: 77
在Qt中,可以通过以下方式在重写的绘图更新函数中获取UI上控件的信息:
1. 通过UI文件中生成的控件对象获取信息
在UI文件中定义的控件对象可以通过类似 `ui->controlName` 的方式获取,如:
```
void PaintWidget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter(this);
painter.drawText(50, 50, ui->lineEdit->text());
}
```
在上例中,可以通过 `ui->lineEdit->text()` 获取UI中 `lineEdit` 控件的文本内容。
2. 通过父窗口中的控件对象获取信息
若UI中某个控件是父窗口中的,可以通过父窗口的指针获取该控件的信息。例如:
```
void PaintWidget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter(this);
painter.drawText(50, 50, ((MainWindow*)parent())->ui->lineEdit->text());
}
```
在上例中,通过 `parent()` 获取父窗口的指针,再通过强制类型转换 `((MainWindow*)parent())` 获取到MainWindow类的指针,最后通过 `ui->lineEdit->text()` 获取UI中 `lineEdit` 控件的文本内容。
需要注意的是,在任何情况下,获取UI控件信息的前提是控件已经被创建并显示在了UI界面上。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)