我是Qt新手,只是想问一下。我应该用什么来制作文本框?
谢谢。
QLineEdit
用于文本框
QTextEdit
用于文本区域
QPushButton
用于按钮
这里是完整的 Qt Widgets API 参考:https://doc.qt.io/qt-6/qtwidgets-index.html#api-reference
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();
}