Как удалить отступ вкладки из нескольких строк в НЕАКТИВНОМ?

Ваша первая ошибка заключается в том, что вы думаете, что окно, созданное с помощью QQuickView, является тем же, которое создано в main.qml, потому что нет, это 2 разных объекта.

Существует 2 подхода для взаимодействия QML и C ++:

  • Извлечение ссылок из QML : это подход, который вы хотите реализовать, но у него много неудобств, потому что поиск объекта осуществляется с использованием, например, имени объекта, которое вы не использовали, кроме того, что в сложных структурах его сложно или невозможно получить, кроме того, что многие объекты QML создаются и уничтожаются тем, какой объект вы получаете в другой раз я могу указать на незарезервированную память, плюс есть зависимость кода C ++ от QML, поэтому этот метод не самый лучший и не рекомендуется.

  • Перенос ссылок на QML : у этого подхода нет проблем, поскольку при экспорте объекта с использованием setContextProperty объект виден во всех QML, поскольку он является глобальным, поэтому, если объект QML создан или его устранение не вызовет проблем, подобных предыдущему методу, нам не нужно имя объекта, и соединение устанавливается так, как если бы объект был создан в QML.

С учетом вышеизложенного я буду использовать второй подход:

main.cpp

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QGuiApplication app(argc, argv);
    HandleTextField handleTextField;
    QQmlApplicationEngine engine;
    engine.rootContext()->setContextProperty("handleTextField", &handleTextField);
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;
    return app.exec();
}

Secondpage.qml [1117 ]

Item{
    Connections{
        target: handleTextField
        onSetTextField: textField1.text = text // <---
    }
    visible: true
    width: 360
    height: 360
    TextField {
        id: textField1
        x: 31
        y: 169
        placeholderText: qsTr("Enter some text...")
    }
    Button {
        x: 193
        y: 167
        text: qsTr("Uppercase me!")
        onClicked: handleTextField.handleSubmitTextField(textField1.text) // <---
    }
}

main.qml не следует изменять.

36
задан sashoalm 27 December 2014 в 19:42
поделиться

4 ответа

Если вы используете IDLE, а на норвежской клавиатуре возникает клавиша Ctrl- [проблема, вы можете изменить клавишу.

  1. Перейти в Параметры-> Настроить IDLE.
  2. Нажмите клавиши вкладка.
  3. При необходимости нажмите «Сохранить как новый набор настраиваемых ключей».
  4. С установленным набором настраиваемых ключей найдите «dedent-region» в списке.
  5. Нажмите «Получить новые ключи для выбора».
  6. и т. д.

Я попытался вставить Shift-Tab, и это сработало.

42
ответ дан 27 November 2019 в 05:15
поделиться

Если вы используете IDLE, вы можете использовать Ctrl +] для отступа и Ctrl + [ для отступа.

39
ответ дан 27 November 2019 в 05:15
поделиться

Зависит от вашего редактора.

Вы пробовали Shift + Tab?

21
ответ дан 27 November 2019 в 05:15
поделиться
Shift-Tab
Ctrl-Tab
< key

зависит от вашего редактора.

4
ответ дан 27 November 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: