目录
一. QLineEdit
QLineEdit
是一个允许用户输入和编辑单行文本的控件。
属性:
echoMode
:设置输入框的显示模式,如密码模式等。text
:获取或设置输入框中的文本。placeholderText
:设置占位文本。
方法:
setText
:设置文本。clear
:清空文本。textChanged
:文本改变信号。
示例代码:
#include <QApplication>
#include <QLineEdit>
#include <QWidget>
#include <QLabel>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
window.setWindowTitle("QLineEdit 示例");
QLineEdit lineEdit(&window);
lineEdit.move(50, 50);
QLabel label(&window);
label.move(50, 80);
label.setGeometry(100,100,100,100);
QObject::connect(&lineEdit, &QLineEdit::textChanged, [&](const QString &text) {
label.setText("你输入的是: " + text);
});
window.setGeometry(100, 100, 300, 200);
window.show();
return app.exec();
}
效果图:
二. QTextEdit
QTextEdit 是一个多行文本编辑框控件,支持丰富的文本编辑功能。
属性:
text
:获取或设置文本内容。font
:设置字体。
方法:
setText
:设置文本。append
:添加文本到末尾。clear
:清空文本。
示例代码:
#include <QApplication>
#include <QTextEdit>
#include <QWidget>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QTextEdit textEdit(&window);
textEdit.append("这是初始文本");
QPushButton btn(&window);
btn.setText("添加文本");
btn.move(100, 100);
QObject::connect(&btn, &QPushButton::clicked, [&]() {
textEdit.append(" 新添加的内容");
});
window.show();
return app.exec();
}
效果图:
三. QComboBox
QComboBox
(组合框)是一个提供了下拉列表选择的控件。
属性:
currentText
:获取当前选中的文本。currentIndex
:获取当前选中项的索引。count
:获取选项的数量。
方法:
addItem
:添加一个选项。addItems
:添加多个选项。setCurrentIndex
:设置当前选中的索引。clear
:清空选项。
示例代码:
#include <QApplication>
#include <QComboBox>
#include <QWidget>
#include<QPushButton>
#include<iostream>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QComboBox comboBox(&window);
comboBox.addItem("选项 1");
comboBox.addItem("选项 2");
comboBox.addItem("选项 3");
QPushButton btn(&window);
btn.setText("获取选中项");
btn.move(100, 100);
QObject::connect(&btn, &QPushButton::clicked, [&]() {
std::cout << "当前选中项: " << comboBox.currentText().toStdString() << std::endl;
});
window.show();
return app.exec();
}
效果图:
四. QSpinBox
QSpinBox 是一个用于输入整数值的控件,通常带有上下箭头用于增减数值。
属性:
value
:当前值。minimum
:最小值。maximum
:最大值。
方法:
setValue
:设置值。stepUp
:增加一个步长。stepDown
:减少一个步长。
示例代码:
#include <QApplication>
#include <QSpinBox>
#include <QWidget>
#include<QPushButton>
#include<iostream>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QSpinBox spinBox(&window);
spinBox.setRange(0, 100);
spinBox.setGeometry(100,100,100,100);
QPushButton btn(&window);
btn.setText("获取数值");
btn.move(100, 100);
QObject::connect(&btn, &QPushButton::clicked, [&]() {
std::cout << "当前数值:%d " << spinBox.value() << std::endl;
});
window.show();
return app.exec();
}
效果图:
五. QDateEdit & QTimeEdit
QDateEdit 是一个用于编辑日期的控件,而 QTimeEdit 是一个用于编辑时间的控件。它们都继承自 QDateTimeEdit,提供了一些特定的功能和属性。
QDateEdit 属性:
date
:保存了部件的显示日期。minimumDate
:定义了用户可以设置的最小日期。maximumDate
:定义了用户可以设置的最大日期。displayFormat
:包含了一个字符串用于格式化日期。
QTimeEdit 属性:
time
:保存了部件的显示时间。minimumTime
:定义了用户可以设置的最小时间。maximumTime
:定义了用户可以设置的最大时间。displayFormat
:包含了一个字符串用于格式化时间。
QDateEdit 方法:
setValue
:设置日期值。stepUp
:增加一天。stepDown
:减少一天。
QTimeEdit 方法:
setValue
:设置时间值。stepUp
:增加一分钟。stepDown
:减少一分钟。
下面是一个使用 QDateEdit 和 QTimeEdit 的示例代码:
#include <QApplication>
#include <QDateEdit>
#include <QTimeEdit>
#include <QVBoxLayout>
#include <QWidget>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QDateEdit dateEdit(&window);
dateEdit.setDate(QDate::currentDate());
QTimeEdit timeEdit(&window);
timeEdit.setTime(QTime::currentTime());
QVBoxLayout layout(&window);
layout.addWidget(&dateEdit);
layout.addWidget(&timeEdit);
window.setLayout(&layout);
window.show();
return app.exec();
}
效果图:
六. QDial
QDial 是一个圆形的刻度盘控件,用户可以通过旋转来选择数值。
属性:
minimum
:最小值。maximum
:最大值。value
:当前值。
方法:
setValue
:设置当前值。
示例代码:
#include <QApplication>
#include <QDial>
#include <QWidget>
#include<QPushButton>
#include<iostream>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QDial dial(&window);
dial.setMinimum(0);
dial.setMaximum(100);
QPushButton btn(&window);
btn.setText("获取数值");
btn.move(100, 100);
QObject::connect(&btn, &QPushButton::clicked, [&]() {
std::cout << "当前数值: " << dial.value() << std::endl;
});
window.show();
return app.exec();
}
效果图:
七. QSlider
QSlider 是一个滑动条控件,用于直观地选择一个范围内的数值。
属性:
minimum
:最小值。maximum
:最大值。value
:当前值。orientation
:方向(水平或垂直)。
方法:
setValue
:设置值。setMinimum
:设置最小值。setMaximum
:设置最大值。
示例代码:
#include <QApplication>
#include <QSlider>
#include <QWidget>
#include<QPushButton>
#include<iostream>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QSlider slider(&window);
slider.setOrientation(Qt::Horizontal);
slider.setMinimum(0);
slider.setMaximum(100);
QPushButton btn(&window);
btn.setText("获取数值");
btn.move(100, 100);
QObject::connect(&btn, &QPushButton::clicked, [&]() {
std::cout << "当前数值: " << slider.value() << std::endl;
});
window.show();
return app.exec();
}
效果图:
八. 总结
QLineEdit:用于单行文本输入。
QTextEdit:支持多行文本的编辑和显示。
QComboBox:提供一个下拉列表供用户选择。
QSpinBox:用于数值的增减选择。
QDateEdit:专门处理日期的输入和显示。
QTimeEdit:专门处理时间的输入和显示。
QDial:以圆形仪表盘样式供用户选择数值。
QSlider:通过滑动条的方式直观地选择数值。
这些控件在 Qt 中各自承担着不同的功能,以满足各种界面交互和数据输入、展示的需求,为开发者构建丰富多样的图形用户界面提供了有力支持。