В моем приложении QML я хочу выбрать файл с FileDialog в QML: < /p>
FileOpen {
id: fileBox
fileName: selectedSp.uiImageNeuDatei
headerText: "Dateiauswahl"
onButtonClicked: selectedSp.onSearchButtonClicked()
}
FileDialog {
id: fileDialog
title: "Auswahl Bild"
onAccepted: selectedSp.onSetFile(fileDialog.selectedFile)
visible: selectedSp.uiViewFileDlg.uiValue
nameFilters: ["JPG Dateien (*.jpg)"]
fileMode: FileDialog.OpenFile
}
< /code>
На Linux и Windows он работает без каких -либо проблем. Но на Android я получаю странное имя файла, которое не может быть открыто:
< /p>
Как можно выбрать файл JPG в каталоге загрузки, например, и открыть его в моей программе C ++? < /P>
РЕДАКТИРОВАТЬ:
qml-gui
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs
import WM 1.0
import assets 1.0
import components 1.0
Item {
property Sp selectedSp
Rectangle {
id: windowBox
anchors.fill: parent
Image {
width: parent.width
height: parent.height
source: Style.imageBackground
}
ScrollView {
id: scrollView
anchors {
left: parent.left
right: parent.right
top: parent.top
bottom: commandBar.top
margins: Style.sizeScreenMargin
}
clip: true
Column {
spacing: Style.sizeScreenMargin
width: scrollView.width
FileOpen {
id: fileBox
fileName: selectedSp.uiImageNeuDatei
headerText: "Dateiauswahl"
onButtonClicked: selectedSp.onSearchButtonClicked()
}
FileDialog {
id: fileDialog
title: "Auswahl Bild"
onAccepted: selectedSp.onSetFile(fileDialog.selectedFile)
visible: selectedSp.uiViewFileDlg.uiValue
nameFilters: ["JPG Dateien (*.jpg)"]
fileMode: FileDialog.OpenFile
}
}
}
}
}
< /code>
** fileopen ** < /p>
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import WM 1.0
import assets 1.0
import components 1.0
Panel {
property StringDecorator fileName
signal buttonClicked()
width: parent.width*0.9
x: 15
contentComponent:
Column {
objectName: "FileOpen"
width: parent.width
spacing: Style.sizeControlSpacing
Row {
id: row1
spacing: Style.sizeControlSpacing
width: parent.width
StringEditorSingleLine {
stringDecorator: fileName
widthValue: 1
setWidthValue: false
}
Rectangle {
id: button
width: Style.widthDataControls
height: Style.heightDataControls
border {
color: "#000000"
width: 1
}
Text {
id: name
text: "Suchen"
verticalAlignment: Qt.AlignVCenter
horizontalAlignment: Qt.AlignHCenter
anchors {
fill: parent
margins: Style.heightDataControls / 4
}
font.pixelSize: Style.pixelSizeDataControls
}
MouseArea {
anchors.fill: parent
onClicked: buttonClicked()
}
}
}
}
}
< /code>
** c ++-code ** < /p>
class WMLIBSHARED_EXPORT Sp : public QObject
{
Q_OBJECT
Q_PROPERTY(datad::StringDecorator *uiImageNeuBeschreibung READ getImageNeuBeschreibung WRITE setImageNeuBeschreibung
NOTIFY valueChanged)
Q_PROPERTY(datad::StringDecorator *uiImageNeuDatei READ getImageNeuDatei WRITE setImageNeuDatei NOTIFY valueChanged)
Q_PROPERTY(datad::BoolDecorator *uiViewFileDlg READ getViewFileDlg WRITE setViewFileDlg NOTIFY valueChanged)
public:
explicit Sp(QObject *parent = nullptr, QString urlArg = "");
~Sp();
datad::StringDecorator *getImageNeuBeschreibung();
datad::StringDecorator *getImageNeuDatei();
datad::BoolDecorator *getViewFileDlg(void);
void setImageNeuBeschreibung(datad::StringDecorator *);
void setImageNeuBeschreibung(QString);
void setImageNeuDatei(datad::StringDecorator *);
void setImageNeuDatei(QString);
void setViewFileDlg(datad::BoolDecorator *);
Q_SIGNALS:
void valueChanged();
void imageOk();
public Q_SLOTS:
private:
QString url {};
datad::StringDecorator *imageNeuBeschreibung {nullptr};
datad::StringDecorator *imageNeuDatei {nullptr};
datad::BoolDecorator *viewFileDlg {nullptr};
};
< /code>
Sp::Sp(QObject *parent, QString urlArg)
: QObject {parent}
, url(urlArg)
{
imageNeuDatei = new datad::StringDecorator(parent, "imageNeuDatei", "Datei", "");
imageNeuBeschreibung = new datad::StringDecorator(parent, "imageNeuBeschreibung", "Beschreibung", "");
viewFileDlg = new datad::BoolDecorator(parent, "viewfiledlg", "Zeige Datei Dialog", false);
QObject::connect(imageNeuDatei, &datad::StringDecorator::valueChanged, this, &Sp::valueChanged);
QObject::connect(imageNeuBeschreibung, &datad::StringDecorator::valueChanged, this, &Sp::valueChanged);
QObject::connect(
rpcClient, SIGNAL(messageReceived(const QJsonRpcMessage &)), this, SLOT(msgRecieved(const QJsonRpcMessage &)));
}
Sp::~Sp()
{
}
void Sp::saveImage()
{
qDebug()
Подробнее здесь: https://stackoverflow.com/questions/793 ... filedialog
Выберите файл в Android с QML FileC ⇐ Android
Форум для тех, кто программирует под Android
1738410311
Anonymous
В моем приложении QML я хочу выбрать файл с FileDialog в QML: < /p>
FileOpen {
id: fileBox
fileName: selectedSp.uiImageNeuDatei
headerText: "Dateiauswahl"
onButtonClicked: selectedSp.onSearchButtonClicked()
}
FileDialog {
id: fileDialog
title: "Auswahl Bild"
onAccepted: selectedSp.onSetFile(fileDialog.selectedFile)
visible: selectedSp.uiViewFileDlg.uiValue
nameFilters: ["JPG Dateien (*.jpg)"]
fileMode: FileDialog.OpenFile
}
< /code>
На Linux и Windows он работает без каких -либо проблем. Но на Android я получаю странное имя файла, которое не может быть открыто:
< /p>
Как можно выбрать файл JPG в каталоге загрузки, например, и открыть его в моей программе C ++? < /P>
РЕДАКТИРОВАТЬ:
[b] qml-gui [/b]
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs
import WM 1.0
import assets 1.0
import components 1.0
Item {
property Sp selectedSp
Rectangle {
id: windowBox
anchors.fill: parent
Image {
width: parent.width
height: parent.height
source: Style.imageBackground
}
ScrollView {
id: scrollView
anchors {
left: parent.left
right: parent.right
top: parent.top
bottom: commandBar.top
margins: Style.sizeScreenMargin
}
clip: true
Column {
spacing: Style.sizeScreenMargin
width: scrollView.width
FileOpen {
id: fileBox
fileName: selectedSp.uiImageNeuDatei
headerText: "Dateiauswahl"
onButtonClicked: selectedSp.onSearchButtonClicked()
}
FileDialog {
id: fileDialog
title: "Auswahl Bild"
onAccepted: selectedSp.onSetFile(fileDialog.selectedFile)
visible: selectedSp.uiViewFileDlg.uiValue
nameFilters: ["JPG Dateien (*.jpg)"]
fileMode: FileDialog.OpenFile
}
}
}
}
}
< /code>
** fileopen ** < /p>
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import WM 1.0
import assets 1.0
import components 1.0
Panel {
property StringDecorator fileName
signal buttonClicked()
width: parent.width*0.9
x: 15
contentComponent:
Column {
objectName: "FileOpen"
width: parent.width
spacing: Style.sizeControlSpacing
Row {
id: row1
spacing: Style.sizeControlSpacing
width: parent.width
StringEditorSingleLine {
stringDecorator: fileName
widthValue: 1
setWidthValue: false
}
Rectangle {
id: button
width: Style.widthDataControls
height: Style.heightDataControls
border {
color: "#000000"
width: 1
}
Text {
id: name
text: "Suchen"
verticalAlignment: Qt.AlignVCenter
horizontalAlignment: Qt.AlignHCenter
anchors {
fill: parent
margins: Style.heightDataControls / 4
}
font.pixelSize: Style.pixelSizeDataControls
}
MouseArea {
anchors.fill: parent
onClicked: buttonClicked()
}
}
}
}
}
< /code>
** c ++-code ** < /p>
class WMLIBSHARED_EXPORT Sp : public QObject
{
Q_OBJECT
Q_PROPERTY(datad::StringDecorator *uiImageNeuBeschreibung READ getImageNeuBeschreibung WRITE setImageNeuBeschreibung
NOTIFY valueChanged)
Q_PROPERTY(datad::StringDecorator *uiImageNeuDatei READ getImageNeuDatei WRITE setImageNeuDatei NOTIFY valueChanged)
Q_PROPERTY(datad::BoolDecorator *uiViewFileDlg READ getViewFileDlg WRITE setViewFileDlg NOTIFY valueChanged)
public:
explicit Sp(QObject *parent = nullptr, QString urlArg = "");
~Sp();
datad::StringDecorator *getImageNeuBeschreibung();
datad::StringDecorator *getImageNeuDatei();
datad::BoolDecorator *getViewFileDlg(void);
void setImageNeuBeschreibung(datad::StringDecorator *);
void setImageNeuBeschreibung(QString);
void setImageNeuDatei(datad::StringDecorator *);
void setImageNeuDatei(QString);
void setViewFileDlg(datad::BoolDecorator *);
Q_SIGNALS:
void valueChanged();
void imageOk();
public Q_SLOTS:
private:
QString url {};
datad::StringDecorator *imageNeuBeschreibung {nullptr};
datad::StringDecorator *imageNeuDatei {nullptr};
datad::BoolDecorator *viewFileDlg {nullptr};
};
< /code>
Sp::Sp(QObject *parent, QString urlArg)
: QObject {parent}
, url(urlArg)
{
imageNeuDatei = new datad::StringDecorator(parent, "imageNeuDatei", "Datei", "");
imageNeuBeschreibung = new datad::StringDecorator(parent, "imageNeuBeschreibung", "Beschreibung", "");
viewFileDlg = new datad::BoolDecorator(parent, "viewfiledlg", "Zeige Datei Dialog", false);
QObject::connect(imageNeuDatei, &datad::StringDecorator::valueChanged, this, &Sp::valueChanged);
QObject::connect(imageNeuBeschreibung, &datad::StringDecorator::valueChanged, this, &Sp::valueChanged);
QObject::connect(
rpcClient, SIGNAL(messageReceived(const QJsonRpcMessage &)), this, SLOT(msgRecieved(const QJsonRpcMessage &)));
}
Sp::~Sp()
{
}
void Sp::saveImage()
{
qDebug()
Подробнее здесь: [url]https://stackoverflow.com/questions/79394649/select-a-file-in-android-with-qml-filedialog[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия