qt - 如何在gui中获取textEdit的文本内容
问题描述
我创建了一个用于图像采集的 gui。在gui中,有一个图片保存按钮,一个textEdit
(lineText
也可以是a)用于接收用户定义的图片名称的输入,作为图片的输出名称。我的问题是:1)如何获取textEdit
?的输入文本,然后2)将QImage
.jpeg格式的图像()保存到当前目录?
解决方案
@jingweimo,我也有类似的问题,希望这个解决方案适合你的情况。要获取输入图像名称,您只需:
ui->labelCroppedA->setPixmap(
QPixmap::fromImage(QImage(cdir + "/" + croppedFilenamesA[croppedIndexA])));
^ add directory separator
此外,为了以格式(或其他格式)保存图像,jpeg
您可以使用具有多种格式的特定功能QImageWriter::supportedImageFormats()
,您可以从我之前的问题或以下问题中看到这一点:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsView *view = new QGraphicsView{scene};
scene->addRect(QRectF(0, 0, 100, 100), QPen(Qt::red), QBrush(Qt::blue));
scene->addEllipse(QRectF(40, 30, 100, 100), QPen(Qt::green), QBrush(Qt::gray));
QComboBox *combo_formats = new QComboBox;
for(const QByteArray & format : QImageWriter::supportedImageFormats()){
combo_formats->addItem(format);
}
QPushButton *save_button = new QPushButton{"Save"};
QObject::connect(save_button, &QPushButton::clicked,[view, combo_formats](){
QPixmap pixmap = view->grab();
QString filename = QString("%1.%2").arg("image").arg(combo_formats->currentText());
pixmap.save(filename);
});
QMainWindow w;
QWidget *central_widget = new QWidget;
w.setCentralWidget(central_widget);
QFormLayout *lay = new QFormLayout{central_widget};
lay->addRow(view);
lay->addRow("Select Format:", combo_formats);
lay->addRow(save_button);
w.show();
return a.exec();
}
我希望这对您的项目有用
推荐阅读
- jquery - 日期时间选择器问题
- reactjs - TypeError:this.state.patients.map 不是函数
- apache-spark - spark 独立模式通过 spark.driver.extraJavaOptions
- django - 使用 Django Rest 框架的查询集中的字典行
- c# - 使用不正确的 C# 计算 24 小时格式的小时总和
- excel - 如何将多个单元格与一个常数单元格相乘
- javascript - 从 canvas.toDataURL() 下载图像
- c# - 实体框架核心为函数名称添加引号
- python - .py 文件中的 Visual Studio Code SQL 语法高亮显示
- angular - 如何在其中显示占位符
在角度 4 中标记?