QML:无法看到 QML 的 TextInput 元素上的文本

发布于 2024-11-30 06:30:32 字数 1246 浏览 0 评论 0原文

我已创建 qml/test.qml 文件为:

import QtQuick 1.0
Rectangle
{
    id: pahe
    width: 200; height: 50
    color: "#55aaee"
    TextInput
    {
        id: editor
        anchors
        {
            left: parent.left; right: parent.right; leftMargin: 10; rightMargin: 10
            verticalCenter: parent.verticalCenter
        }
        cursorVisible: true; 
        font.bold: true
        color: "#151515"; 
        selectionColor: "Green"
        focus: true
    }
}

和一个 qml/main.cpp 文件为:

#include <QApplication>
#include <QtDeclarative>
#include <QDeclarativeView>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QDeclarativeView view;
    view.setSource(QUrl::fromLocalFile("test.qml"));

    view.setResizeMode(QDeclarativeView::SizeRootObjectToView);

    view.show();
    return app.exec();
}

我正在使用以下命令编译此 main.cpp 文件:

#qmake -project
#qmake
#make

我正在运行 exe:

./qml

所以问题是我无法即使使用键盘输入文本后,也能看到 TextInput 上的任何文本。如果我打印元素的 TextInput.text,它会在控制台日志上显示输入的文本,但在屏幕上看不到。 可能是什么原因?

如果我使用 qmlviewer 运行相同的 test.qml 文件,它工作正常。
任何提示或评论都会有所帮助。

谢谢,
克巴拉尔

I have created qml/test.qml file as:

import QtQuick 1.0
Rectangle
{
    id: pahe
    width: 200; height: 50
    color: "#55aaee"
    TextInput
    {
        id: editor
        anchors
        {
            left: parent.left; right: parent.right; leftMargin: 10; rightMargin: 10
            verticalCenter: parent.verticalCenter
        }
        cursorVisible: true; 
        font.bold: true
        color: "#151515"; 
        selectionColor: "Green"
        focus: true
    }
}

and One qml/main.cpp file as:

#include <QApplication>
#include <QtDeclarative>
#include <QDeclarativeView>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QDeclarativeView view;
    view.setSource(QUrl::fromLocalFile("test.qml"));

    view.setResizeMode(QDeclarativeView::SizeRootObjectToView);

    view.show();
    return app.exec();
}

I am compiling this main.cpp file using commands like:

#qmake -project
#qmake
#make

and I am running the exe as:

./qml

So problem is that I am not able to see any text on TextInput even after entering text using key board. If i print the TextInput.text of element it shows entered text on console log but can not see on screen.
What could be the reason?

If i run same test.qml file using qmlviewer it works fine.
Any hint or comment in this would be helpful.

Thanks,
KBalar

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜还是长夜 2024-12-07 06:30:32

你为什么不试试模拟器呢?你说,它是一个 exe 文件,为什么要以 Linux 风格的“./”运行它。如果问题仍然存在,请检查矩形或文本编辑的背景以及字体颜色。

why don't you try simulator? U said, it as an exe and why r u running it in a Linux style "./". If you still have the problem, check the background of the Rectangle or TextEdit and the font color.

述情 2024-12-07 06:30:32

问题出在 Windows PC 上运行的虚拟 Linux 机上。所以如果我在真正的 Linux 机器上运行相同的示例,问题就不会出现。

The problem was with virtual Linux machine running on Windows PC. So If i run same example on Real Linux machine The problem wont be there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文