【Qt】使用QPalette设置QPlainTextEdit颜色时,不生效 Qt5.9 C++开发指南 源代码 使用QPalette设置QPlainTextEdit颜色时,不生效 解决方法 参考资料 Qt5.9 使用QPalette设置QPlainTextEdit颜色时,不生效 练习2.2 可视化UI设计的示例程序sample2_2时,第32页的编写一个设置QPlainTextEdit的文本编辑框txtEdit 的字体颜色时,使用QPalette调色板设置QPlainTextEdit的文本编辑框的字体颜色没有生效,具体槽函数代码如下: void QWDialog::setTextFontColor() { QPalette::Text, Qt::black); } ui->txtEdit->setPalette(plet); } 解决方法 对照了一下书中的代码和我自己写的代码,发现问题出现在我设置了QPlainTextEdit 在实际使用时,如果使用了样式表设置了QPlainTextEdit文本编辑框的颜色,那么再使用QPalette设置QPlainTextEdit颜色时,不生效,以样式表的为准。
一般软件调试的时候,可以使用QPlainTextEdit当做日志显示界面,程序里所有的打印数据都可以通过QPlainTextEdit显示,可以做一个方便接口:设置QPlainTextEdit为只读模式, 核心代码: /*日志显示*/ void Widget::Log_Text_Display(QString text) { QPlainTextEdit *plainTextEdit_log=ui
记录操作到 QPlainTextEdit 中: 使用 ui->plainTextEdit->appendPlainText("添加新的父节点"); 将一行文本记录添加到 QPlainTextEdit 中 记录操作到 QPlainTextEdit 中: 使用 ui->plainTextEdit->appendPlainText("添加新的子节点"); 将一行文本记录添加到 QPlainTextEdit 中 记录操作到 QPlainTextEdit 中: 使用 ui->plainTextEdit->appendPlainText("删除一个节点"); 将一行文本记录添加到 QPlainTextEdit 中, 记录操作到 QPlainTextEdit 中: 使用 ui->plainTextEdit->appendPlainText("枚举所有节点"); 将一行文本记录添加到 QPlainTextEdit 中, 记录操作到 QPlainTextEdit 中: 使用 ui->plainTextEdit->appendPlainText("枚举所有选中节点"); 将一行文本记录添加到 QPlainTextEdit
QVBoxLayout:纵向布局 (1)纵向布局: V : Vertical,竖直方向上的 在纵向布局中,宽度信息被忽略,只关心它的高度 演示: 创建一个窗口MyWindow,包含一个QLineEdit 和一个 QPlainTextEdit Q_OBJECT public: MyWindow(QWidget *parent); ~MyWindow(); protected: QLineEdit* my_line_edit; QPlainTextEdit 这时发现一个问题: QLineEdit类型的子窗口只会改变宽度,而高度永远是固定的, 而QPlainTextEdit类型的子窗口宽度、高度都会跟着改变。 横向布局: H:Horizontal,水平方向上的 在横向布局中,高度信息被忽略,只关心它的宽度,其他要注意的同上 做一个有关手动布局的小练习: 使用学过的QPushButton、QLineEidt、QPlainTextEdit 代码如下: /* 练习:手动布局 */ my_line_edit = new QLineEdit(this); my_text_edit = new QPlainTextEdit(this)
编辑区域(左栏): 该编辑器区域使用QPlainTextEdit实现。 预览区域(右栏): 预览区域使用QWebEngineView实现的。 connect(ui->editor, &QPlainTextEdit::textChanged, [this]() { m_content.setText(ui->editor->toPlainText registerObject(QStringLiteral("content"), &m_content); page->setWebChannel(channel); 加载网页文件用于接收ui->editor(QPlainTextEdit
SetData则可以在index位置设置字符串,并最终setCurrentIndex设置到当前下标处; 1.3 转换字符串 如下代码演示了如何通过按钮的点击事件将 QStringListModel 的数据导入到 QPlainTextEdit 清空 QPlainTextEdit,准备追加数据。 循环遍历字符串列表,并将每个字符串追加到 QPlainTextEdit 中,每个字符串之间用逗号隔开。 这样,通过这个按钮的点击事件,可以将 QStringListModel 中的数据导入到 QPlainTextEdit 中。 // 显示数据模型文本到QPlainTextEdit void MainWindow::on_btnTextImport_clicked() { QStringList pList;
一种是使用Qt自身的类如Widget、QPlainTextEdit、QSyntaxHighlighter等我们自己根据Qt提供的Api去实现编辑器;另一种可以是使用第三方库QScintilla(是Scintilla CodeEditor 类,继承QPlainTextEdit,更新行号,加载文本,文件操作等。 CodeHighLight 类继承QSyntaxHighlighter,实现关键字、特殊语法等的高亮。 继承 QPlainTextEdit 添加一些功能 行号区域是一个单独的小部件,我们再这个部件上“画”出行号,当文本行数变化时,行号区域的宽度也要发生变化,此时需要重新绘制行号区域。
作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: 日志显示 */ void Widget::Log_Text_Display(QString text) { QPlainTextEdit WIDGET_H #define WIDGET_H #include <QWidget> #include <QHostInfo> #include <QScrollBar> #include <QPlainTextEdit
使用 Qt版本5.12.1 直接复制表情到Qt设计师的富文本框(QPlainTextEdit)就可以显示了。 注意:由于下列表情会经过微信二次转换,在Qt上的实际效果如封面图。 ??????????
使用 Qt版本5.12.1 直接复制表情到Qt设计师的富文本框(QPlainTextEdit)就可以显示了。 注意:由于下列表情会经过微信二次转换,在Qt上的实际效果如封面图。 ??⬇️⬅️???
available为true,表示可以撤销 示例代码 Widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPlainTextEdit > #include <QPushButton> #include <QDebug> class Widget : public QWidget { Q_OBJECT QPlainTextEdit
使用 Qt版本5.12.1 直接复制表情到Qt设计师的富文本框(QPlainTextEdit)就可以显示了。 注意:由于下列表情会经过微信二次转换,在Qt上的实际效果如封面图。 ??????????
使用 Qt版本5.12.1 直接复制表情到Qt设计师的富文本框(QPlainTextEdit)就可以显示了。 注意:由于下列表情会经过微信二次转换,在Qt上的实际效果如封面图。
text) { Log_Text_Display(ui->plainTextEdit_log_0,text); } /*日志显示*/ void Widget::Log_Text_Display(QPlainTextEdit /*刷新本机可以的音频设备列表*/ void Widget::UpdateVideoAudiodDevice( QComboBox *comboBox_video, QPlainTextEdit include <QPen> #include <QPainter> #include <QRgb> #include <QDateTime> #include <QCameraInfo> #include <QPlainTextEdit Stop_VideoAudioEncode_0(bool flag);//停止线程 void Start_VideoAudioEncode_Thread_0(); //启动线程 void Log_Text_Display(QPlainTextEdit *plainTextEdit_log,QString text); void UpdateVideoAudiodDevice(QComboBox *comboBox_video, QPlainTextEdit
clear(); Log_Text_Display(ui->plainTextEdit_log_0,text); } /*日志显示*/ void Widget::Log_Text_Display(QPlainTextEdit /*刷新本机可以的音频设备列表*/ void Widget::UpdateVideoAudiodDevice( QComboBox *comboBox_video, QPlainTextEdit include <QPen> #include <QPainter> #include <QRgb> #include <QDateTime> #include <QCameraInfo> #include <QPlainTextEdit Stop_VideoAudioEncode_0(bool flag);//停止线程 void Start_VideoAudioEncode_Thread_0(); //启动线程 void Log_Text_Display(QPlainTextEdit *plainTextEdit_log,QString text); void UpdateVideoAudiodDevice(QComboBox *comboBox_video, QPlainTextEdit
main.cpp,来打印FFmpeg配置信息: #include "ffmpegtest.h" #include <QtWidgets/QApplication> #include <QtWidgets/QPlainTextEdit /avcodec.h> } int main(int argc, char *argv[]) { QApplication a(argc, argv); FfmpegTest w; QPlainTextEdit
对于需要文本输入的场景,QLineEdit、QPlainTextEdit 和 QTextEdit 提供了从单行文本到富文本编辑的不同级别的支持。
Widget(QWidget *parent = 0); ~Widget(); }; #endif // WIDGET_H Widget.cpp #include "Widget.h" #include <QPlainTextEdit QTabWidget::North); m_tabWidget.setTabShape(QTabWidget::Triangular); m_tabWidget.setTabsClosable(false); QPlainTextEdit * edit = new QPlainTextEdit(&m_tabWidget); edit->insertPlainText("页面1"); m_tabWidget.addTab(edit, "1st
QIODevice::NewOnly 文件存在则打开失败,不存在则创建文件 代码如下: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPlainTextEdit 保存"); menu->addAction(ac1); menu->addAction(ac2); // 指定一个输入框 edit 为全局变量 edit = new QPlainTextEdit
02、QPlainTextEdit>>>QPlainTextEdit是Qt框架中提供的一个类,用于显示和编辑纯文本内容。 与QTextEdit不同,QPlainTextEdit专注于处理大量文本数据,并且仅支持简单的文本格式,不支持富文本(例如富文本编辑和格式化文本)。 主要特性:高效性:QPlainTextEdit专为处理大文本而设计,适用于高性能需求。文本处理功能:支持基本的文本操作,如查找、替换、选择、撤销和重做等。