使用qtextedit太明显能看出输入框了,能不能使用别的控件
时间: 2024-03-25 22:41:29 浏览: 59
如果您不想使用 `QTextEdit` 控件,您可以考虑使用 `QLabel` 控件来显示公告内容,并使用 `QLineEdit` 控件来让用户编辑公告内容。
首先,在您的窗口中添加一个 `QLabel` 控件和一个 `QLineEdit` 控件。这里的代码示例使用 Qt Designer 创建一个名为 `noticeLabel` 的 `QLabel` 控件和一个名为 `noticeLineEdit` 的 `QLineEdit` 控件:
```
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void on_noticeLineEdit_textChanged(const QString &text);
};
```
在 `MainWindow` 类的头文件中,我们声明了一个名为 `on_noticeLineEdit_textChanged()` 的槽函数,该函数将在 `QLineEdit` 控件中的文本被修改时自动调用。
接下来,将 `on_noticeLineEdit_textChanged()` 槽函数与 `QLineEdit` 控件的 `textChanged()` 信号连接起来,这将使该槽函数在 `QLineEdit` 控件中的文本被修改时自动调用。
在 `MainWindow` 类的实现文件中,我们可以这样实现 `on_noticeLineEdit_textChanged()` 槽函数:
```
void MainWindow::on_noticeLineEdit_textChanged(const QString &text)
{
ui->noticeLabel->setText(text);
// 在这里将公告文本保存到文件或数据库等持久化存储中
}
```
在上面的代码中,我们首先获取 `QLineEdit` 控件中的文本,并将其设置为 `QLabel` 控件的文本。然后,您可以将公告文本保存到文件或数据库等持久化存储中。
现在,每当用户在 `QLineEdit` 控件中输入或编辑文本时,都会自动调用 `on_noticeLineEdit_textChanged()` 槽函数,您可以在该函数中实现将公告文本保存到持久化存储中的逻辑。同时,使用 `QLabel` 控件来显示公告内容,隐藏了输入框的外观。
阅读全文