Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在gui中获取textEdit的文本内容_Qt - Fatal编程技术网

Qt 如何在gui中获取textEdit的文本内容

Qt 如何在gui中获取textEdit的文本内容,qt,Qt,我已经为图像采集创建了一个gui。在gui中,有一个用于保存图像的按钮,还有一个textEdit(也可以使用lineText)用于接收用户定义的图像名称输入,该名称将用作图像的输出名称。我的问题是:1)如何获取文本编辑的输入文本,然后2)将.jpeg格式的图像(QImage)保存到当前目录中?@jingweimo,我有一个类似的问题,希望能适合您的情况。 要获取输入图像名称,您只需: ui->labelCroppedA->setPixmap( QPixmap::fromImag

我已经为图像采集创建了一个gui。在gui中,有一个用于保存图像的按钮,还有一个
textEdit
(也可以使用
lineText
)用于接收用户定义的图像名称输入,该名称将用作图像的输出名称。我的问题是:1)如何获取
文本编辑的输入文本,然后2)将.jpeg格式的图像(
QImage
)保存到当前目录中?

@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();
}
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
Qgraphicscene*场景=新的Qgraphicscene;
QGraphicsView*视图=新的QGraphicsView{scene};
场景->addRect(QRectF(0,0,100,100),QPen(Qt::红色),QBrush(Qt::蓝色));
场景->加法器(QRectF(40,30,100100),QPen(Qt::绿色),QBrush(Qt::灰色));
QCOMBOX*组合_格式=新的QCOMBOX;
对于(常量QByteArray和格式:QImageWriter::supportedImageFormats()){
组合格式->附加项(格式);
}
QPushButton*保存按钮=新的QPushButton{“保存”};
QObject::connect(保存按钮和QPushButton::单击,[查看,组合格式](){
QPixmap pixmap=view->grab();
QString filename=QString(“%1.%2”).arg(“图像”).arg(组合格式->当前文本());
保存(文件名);
});
qmainw窗口;
QWidget*central_widget=新的QWidget;
w、 setCentralWidget(中央窗口小部件);
QFormLayout*lay=新QFormLayout{central_widget};
布局->添加行(视图);
lay->addRow(“选择格式:”,组合格式);
放置->添加行(保存按钮);
w、 show();
返回a.exec();
}
我希望这对你的项目有用