Qt 在一个已经运行中的界面中,点一下按钮在界面中某个位置显示一个图片,有啥思路
时间: 2023-11-28 12:49:26 浏览: 90
可以使用一个 QLabel 来显示图片,并在点击按钮时,动态地修改 QLabel 中的图片。
具体步骤如下:
1. 在界面中添加一个 QPushButton 和一个 QLabel。
2. 在 QPushButton 的 clicked 信号的槽函数中,使用 QPixmap 加载图片文件,然后将其设置为 QLabel 的 pixmap 属性。示例代码如下:
```cpp
void MainWindow::on_pushButton_clicked()
{
QPixmap pixmap(":/images/image.png"); // 加载图片
ui->label->setPixmap(pixmap); // 设置 QLabel 的 pixmap 属性
}
```
其中,":/images/image.png" 是图片文件的路径,可以根据实际情况进行修改。
3. 可以通过设置 QLabel 的大小和位置来控制图片在界面中的显示位置。例如,可以在界面中添加一个 QHBoxLayout,将 QLabel 放在其中,并设置 QLabel 的对齐方式为居中对齐,以实现图片在界面中的居中显示。示例代码如下:
```cpp
ui->label->setAlignment(Qt::AlignCenter); // 设置 QLabel 的对齐方式为居中对齐
ui->label->setFixedSize(200, 200); // 设置 QLabel 的大小为 200x200
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(ui->label);
ui->centralWidget->setLayout(layout); // 将 QHBoxLayout 设置为界面的布局
```
其中,ui->centralWidget 是界面的主窗口部件,可以根据实际情况进行修改。
这样,在点击 QPushButton 后,就可以在 QLabel 中显示指定的图片了。
阅读全文