Qt - 文本框的用途

问题描述 投票:0回答:3

我是Qt新手,只是想问一下。我应该用什么来制作文本框?

谢谢。

c++ qt textbox
3个回答
33
投票

如果您的意思是

text box
one line
那么它应该是 QLineEdit

无论如何,我建议您查看一些完整的工作示例以学习使用所有可用的小部件。


32
投票

QLineEdit
用于文本框

QTextEdit
用于文本区域

QPushButton
用于按钮

这里是完整的 Qt Widgets API 参考:https://doc.qt.io/qt-6/qtwidgets-index.html#api-reference


0
投票

QLabel
用于显示用户无法直接交互或修改的文本或图像。

QLineEdit
用于单行文本输入,允许用户输入和编辑一行纯文本。

QTextEdit
用于多行文本输入,适合富文本格式,包括图像、超链接和样式文本。

QPlainTextEdit
用于多行纯文本输入,针对处理没有富文本格式的大型文档进行了优化。

QPushButton
表示可以启动操作或命令的可点击按钮。

示例:

#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QTextEdit>
#include <QPlainTextEdit>
#include <QPushButton>
#include <QStyleFactory>
#include <QStyle>
#include <QPalette>

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

    QApplication app(argc, argv);

    // Light theme
    QStyle* style = QStyleFactory::create("Fusion");
    QPalette palette = style->standardPalette();
    QApplication::setStyle(style);
    QApplication::setPalette(palette);

    QWidget window;
    window.setWindowTitle("QtTextExample");

    QVBoxLayout *layout = new QVBoxLayout(&window);

    QLabel *label = new QLabel("QLabel: Display text or images.");
    layout->addWidget(label);

    QLineEdit *lineEdit = new QLineEdit("QLineEdit: Sample input text");
    layout->addWidget(lineEdit);

    QTextEdit *textEdit = new QTextEdit();
    textEdit->setHtml(
            "<h1>QTextEdit</h1>"
            "<p>This is <b>bold</b>, this is <i>italic</i>, and this is <span style='color: red;'>colored</span> text.</p>"
            "<p>List:</p>"
            "<ul>"
                "<li>Item 1</li>"
                "<li>Item 2</li>"
            "</ul>");
    layout->addWidget(textEdit);

    QPlainTextEdit *plainTextEdit = new QPlainTextEdit("QPlainTextEdit: Enter multi-line plain text here.\nIt's optimized for text editing without rich formatting.");
    layout->addWidget(plainTextEdit);

    QPushButton *button = new QPushButton("QPushButton: Click me");
    layout->addWidget(button);

    window.show();

    return QApplication::exec();
}

结果:

© www.soinside.com 2019 - 2024. All rights reserved.