/*
qt 下载
http://download.qt.io/archive/qt/5.9/5.9.6/qt-opensource-windows-x86-5.9.6.exe
链接: https://pan.baidu.com/s/13GXBkqPFw5YcHew1blTTkw
提取码: emza
*/
/*
QVector<int> h1; //向量
h1<<5<<6;
h1.append(1);
h1.prepend(2);
h1.replace(1,2);
h1.remove(0);
h1.removeAll(2);
h1[2];
h1.contains(3);
QList<int> h1;
//插入
h1 << 5 <<8;
h1.append(10);
h1.prepend(0);
h1.insert(1,99);
//访问
h1.at(2);
h1[2];
h1.contains(8);
h1.size();
//修改
h1.replace(5,66);
h1[0] = 100;
//删除
h1.removeFirst();
h1.removeLast();
h1.removeAt(2);
h1.removeOne(99);
h1.clear();
//QLinkedList类
QLinkedList<QString> h1;
QMap<QString, QString> h1; //红黑树
//插入
h1.insert("aaa", "100");
h1["bbb"] = "200";
//查找
h1["aaa"]; //通过key找value
h1.value("aaa");//通过key找value
h1.key("100");//value找key
h1.find("aaa");
QMultiMap<QString, QString> h2;
h2.insert("summer", "15℃");
h2.insert("summer", "35℃");
h2.remove("winter", "-55℃");//独有
h2.values("winter");
QHash<int, QString> h1;
h1.insert(1, "一块钱");
h1[50] = "五十块钱";
h1.insertMulti(100, "毛爷爷"); //重复key 插入
*/
/*
.pro/ .project 项目工程
QT += core gui 支持核心的界面编程
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
TARGET = asd 项目名字
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
RC_ICONS += login.ico 图标
SOURCES += \
main.cpp
HEADERS += \
logindialog.h \
FORMS += \
logindialog.ui
RESOURCES += \
image.qrc
*******************************************************
version 版本
target 目标
template 模板
icon 图标
sources 来源
resources 资源
headers 头文件
deprecated 弃用
defines 定义
property 属性
版本
目标
模板
图标
来源
资源
头文件
弃用
定义
属性
*/
/*
QMessageBox h1;
h1.information (0,"标题","提示"); 消息
h1.question(0, "标题", "提示" );问题
h1.warning(0,"标题", "提示",); 警告
h1.critical(0, "标题","提示"); 危险
h1.about(0, "标题", "提示"); 关于
自定义消息框
h1.addButton("好吧", QMessageBox::ActionRole); 添加按钮
h1.setIconPixmap(QPixmap("msg.png")); 设置图标位图
h1.clickedButton();返回点击按钮
QMessageBox h1;
消息
问题
警告
危险
关于
***************
自定义消息框
添加按钮
设置图标位图
返回点击按钮
*/
/*
QRadioButton h1 QAbstractButton ->QWidget
h1.setChecked(true); 设置选择
h1.isChecked(); 是否选择
h1.setText("正确"); 设置文本
h1.text(); 返回文本
QCheckBox h1; ->QWidget->QAbstractButton
h1.checkState(); 选择的状态
QPushButton h1; ->widget->QAbstractButton
QButtonGroup h1 按钮分组 无界面
h1.addButton(QRadioButton& );添加按钮
h1.checkedButton(); 返回选择的按钮
*************************************
QRadioButton h1
设置选择
是否选择
设置文本
返回文本
QCheckBox h1;
选择的状态
QButtonGroup h1 按钮分组 无界面
添加按钮
返回选择的按钮
*/
//MinGW
//MSVC 2017
/*
QFontDialog h1;
h1.getFont(bool); 获取字体
QFontDatabase h1;
h1.standardSizes(); 返回字体的标准大小
QFont h1;
h1.setPointSize(12);设置字体大小
h1=QApplication::font(); 当前重新的字体
h1.pointSize(); 返回字体大小
*******************************************
QFontDialog
获取字体
QFontDatabase
返回字体的标准大小
QFont
设置字体大小
当前程序的字体
返回字体大小
*/
/*
信號映射器
QSignalMapper h1
connect(button1, SIGNAL(clicked()),
h1, SLOT(map()));
h1->setMapping(button1, 1);
connect(button2, SIGNAL(clicked()),
h1, SLOT(map()));
h1->setMapping(button2, 2);
****************************************
connect(h1, SIGNAL(mapped(int)),
aa, SLOT(xx(int)) );
map-> setMapping -> mapped;
*/
/*
QMenuBar h1 ->QWidget
this->setMenuBar(h);
h.addMenu("xxxx");
h.addMenu(QMenu*);
h.addAction(QAction* );
QMenuBar
添加菜单
添加按钮
********************************
QToolBar h1;
this->addToolBar(h1);
h1.addAction(QAction * );
h1.addWidget(QToolButton&)
QToolBar
添加按钮
添加部件
********************************
QToolButton aa;->QAbstractButton->QWidget
aa.setText("xxxx");
aa.setMenu(QMenu *);
aa.setPopupMode(QToolButton::MenuButtonPopup);
QToolButton
设置文本
设置菜单
设置弹出模式
********************************
QSpinBox bb;
ui->horizontalLayout->addWidget(bb);
********************************
QMenu h1 ->QWidget
h1.addAction("xxx");
h1.addAction(QAction*);
h1.addAction(QIcon("copy.png"),QString("复制(&C)"));
h1.addSeparator();
QMenu::aboutToShow 信号
QMenu
添加按钮
添加分离器
************************************
QAction h1; ->QObject
h1.setShortcut(QKeySequence("Ctrl + C"))
h1.setCheckable(true);
h1.isChecked();
h1.setChecked(true);
h1.setText("一样");
h1.setIconText("一样");
h1.setIcon(QPixmap&);
h1.setEnabled(true);
QAction
设置快捷键
设置可勾选
是否勾选
设置勾选
设置文本
设置图标文本
设置图标
设置启用
*********************************
自定义按钮
QWidgetAction 父指针是QMenu
QWidget *aa::createWidget(QWidget *parent)
{
if(parent->inherits("QMenu") ||
parent->inherits("QToolBar")){
QSplitter *splitter = new QSplitter(parent);
splitter->addWidget(&tree);
QLabel *label = new QLabel("插入文本:");
splitter->addWidget(label);
splitter->addWidget(lineEdit);
return splitter;
}
return 0;
}
***************************
自定义按钮
虚函数 创建部件
***************************
QActionGroup h1;
h1.addAction("xxxx");
h1.addAction(QAction & );
***************************
QActionGroup
添加按钮
*/
/*
QSplitter *splitter = new QSplitter(parent);
splitter->addWidget(&tree);
*/
/*
QString h1;
h1.toInt(); 字符串转整数
h1::number(3.14);整数转字符串
QByteArray tomArray = h1.toUtf8();字符串转utf-8字节数组
const char* aa = tomArray.data();
h1.right(4); 返回右边4个字母
h1.append("xxx");尾部追加
h1.sprintf("%s%d%s","史前",400,"万年");字符串占位符拼接
h1 = QString("%1%2").arg("史前").arg(400);字符串arg拼接
h1.at(2); 指定位置访问
h1.insert(5,h1.toUtf8()) 指定位置插入
h1.prepend("热带"); 头部插入
h1.replace(7,3,"三个月"); 指定位置替换
h1.startsWith("aaa"); 开始是否包含指定字符串
h1.endsWith(".htm",Qt::CaseInsensitive);末尾是否包含指定字符串
h1.contains("A");是否包含指定字符
h1.split(",");字符串分割
h1.compare("Tom","tom",Qt::CaseInsensitive);//字符串比较
h1.mid(5,3);字符串截取
h1.indexOf("aaa"); 返回查找字符串的索引
h1.indexOf(QRegExp&a,10 );返回指定位置查找字符串的索引
*******************************
字符串转整数
整数转字符串
字符串转utf-8字节数组
返回右边4个字母
尾部追加
字符串占位符拼接
字符串arg拼接
指定位置访问
指定位置插入
头部插入
指定位置替换
开始是否包含指定字符串
末尾是否包含指定字符串
是否包含指定字符
字符串分割
字符串比较
字符串截取
返回查找字符串的索引
返回指定位置查找字符串的索引
QStringList h1;
插入:
h1 << "星期一" << "星期二" ;
h1.append("aaa");
h1.insert(0,"星期零");
访问:
h1.at(0);
h1.contains("xxx");
h1.size();
删除:
h1.removeFirst();
h1.removeLast();
h1.removeAt(0);
h1.removeOne("星期一");
h1.clear();
*/
/*
Q Variant h1(100);
h1.toInt();
h1.type();//保存的类型
h1.value<QColor>();//保存的值
h1.canConvert(QVariant::Int); 能不能转化
h1.convert(QVariant::Int); 转化
*/
/*
QWidget h1 ->QObject
h1.setLayout();//设置布局
h1.resize(50, 50); //调整大小
h1.setFixedSize(50, 50); //设置固定大小
h1.setWindowTitle("xxxx"); //设置窗口标题
h1.setWindowFlags(Qt::Dialog); //设置窗口标记
h1.setWindowState(Qt::WindowMaximized);//设置窗口状态
h1.move(50,90);//移动
h1.setFont(QFont());//设置字体
h1.close();//关闭
h1.show(); //显示
QPalette aa = h1.palette();//返回当前的调色板
aa.setColor(QPalette::Window,Qt::blue);
h1.setPalette(aa); //设置调色板
h1.setAutoFillBackground(true);//设置自动填充背景
h1.setWindowOpacity(0.5);//设置窗口透明度
h1.frameGeometry().topLeft();//返回边框几何属性左上角的坐标
h1.setAttribute(Qt::WA_DeleteOnClose);//设置属性
h1.setWindowModified(true);//设置窗口是否修改
h1.setWindowModality(Qt::NonModal);//设置窗口形式
h1.children();//返回窗口上的子部件
**************************************
设置布局
调整大小
设置固定大小
设置窗口标题
设置窗口标记
设置窗口状态
移动
设置字体
关闭
显示
返回当前的调色板
设置调色板
设置自动填充背景
设置窗口透明度
返回边框几何属性左上角的坐标
设置属性
设置窗口是否修改
设置窗口形式
返回窗口上的子部件
void mousePressEvent(QMouseEvent* event);
void mouseMoveEvent(QMouseEvent *event)
void closeEvent(QCloseEvent *event) override;
void dropEnterEvent(QDragEnterEvent *event)
void dropEvent(QDropEvent *event) //拖拽放下
***************************
鼠标按下事件
鼠标移动事件
关闭事件
拖拽进入事件
拖拽事件
Qt::RightButton 右键
Qt::LeftButton 左键
event->button() 事件按钮
event->globalPos(); 事件全局的位置
event->accept(); 事件接受
event->ignore(); 事件忽略
event->acceptProposedAction();事件接受建议的动作
//接收事件 + 执行推荐的拖放操作(拖放专用)
event->mimeData(); 事件返回类型标签数据
mimeData()->hasUrls(); 类型标签数据是不是地址
mimeData->urls(); 类型标签数据返回QList<QUrl>
QUrl.toLocalFile();地址返回当地的文件
*********************************************
右键按钮 right button
左键按钮 left button
事件按钮 event button
事件全局的位置 event global pos()
事件接受 event accept
事件忽略 event ignore
事件接受建议动作 event accept propose action
事件返回类型标签数据 event mimedata
类型标签数据是不是地址 midedata has urls();
类型标签数据返回QList<QUrl> midedata urls()
地址返回当地的文件 url.toLocalFile()
右键按钮
左键按钮
事件按钮
事件全局的位置
事件接受
事件忽略
事件接受建议动作
事件返回类型标签数据
类型标签是不是地址
类型标签返回QList<QUrl>
地址返回当地的文件
*/
/*
QTimer h1
h1.singleShot(0,qApp,SLOT(quit())); 单一的发射
h1.setInterval(1000); 设置间隔多少秒
h1.start(); 开始
timeout();时间到信号
**********************************
QTime h1;
h1.currentTime(); //获取当前时间
h1.toString("hh:mm");//时间转字符串
QLCDNumber h1->QFrame->QWidget;
h1.display("aaaa");//显示文本
QTimer h1
单一的发射
设置间隔多少秒
开始
时间到信号
**********************************
QTime h1;
获取当前时间
时间转字符串
QLCDNumber h1->QFrame->QWidget;
显示文本
*/
/*
QAbstractListModel
int rowCount(const QModelIndex& parent)//必须有
//行的总数
QVariant data(const QModelIndex& index, int role) const //必须有
//添加数据
QVariant headerData(int section,
Qt::Orientation orientation, int role) const
//头部数据
Qt::ItemFlags flags(const QModelIndex& index)const
//是否可选、可编辑、可拖拽、是否启用等
//标记
bool setData(const QModelIndex& index,
const QVariant& value, int role)
//修改数据
bool insertRows(int position, int rows,
const QModelIndex& index);
//插入行
bool removeRows(int position, int rows,
const QModelIndex& index)
//删除行
QAbstractListModel
行的总数
添加数据
头部数据
标记
修改数据
插入行
删除行
****************************************
QAbstractTableModel
int rowCount(const QModelIndex& parent = QModelIndex())
//必须 行的总数
int columnCount(const QModelIndex& parent = QModelIndex())
//必须 列的总数
QVariant data(const QModelIndex& index, int role)const;
//必须 数据
QVariant headerData(int section,
Qt::Orientation orientation, int role) const
//表头数据
*****************************************
QAbstractTableModel
行的总数
列的总数
数据
表头数据
*****************************************
QTreeView / QListView / QTableView h1;
QTreeView h1;
h1.setModel(model);//设置模型
h1.model(); //返回模型
h1.selectionModel();//返回选择模型 QItemSelectionModel *
h1.setSelectionModel(QItemSelectionModel*); //设置选择模型 用于共享
h1.setSelectionMode
(QAbstractItemView::MultiSelection);//设置选择模式 多选
h1.selectionMode();//返回选择模式
h1.SIGNAL(doubleClicked(QModelIndex)) 双击信号
QTreeView h1;
设置模型
返回模型
返回选择模型
设置选择模型 用于共享
设置选择模式 多选
返回选择模式
双击信号
******************************************
QItemSelectionModel aa=h1.selectionModel();
aa->currentIndex(); //返回当前的索引
aa void selectionChanged //信号选择改变
(const QItemSelection &selected, // 新选中的区域
const QItemSelection &deselected); // 取消选中的区域
aa void currentChanged //信号当前改变
(const QModelIndex ¤t, //新选中的模型索引
const QModelIndex &previous); //上一个选中的模型索引
aa->select(QItemSelection*,QItemSelectionModel::Select);//选择
QItemSelectionModel aa;
返回当前的索引
信号选择改变
信号当前改变
选择
******************************************
QStandardItemModel aa(3,3);
aa.setItem(1,1,QStandardItem* );//设置项目
aa.setData(index,text);设置数据
aa.data(index,Qt::EditRole).toString();//返回数据
aa.invisibleRootItem(); //QStandardItem
QStandardItem bb("xx");
bb.setText(QString("B")); //设置文本
bb.setIcon(QPixmap()); //设置图标
bb.setToolTip(QString("B项"));//设置状态提示
bb.appendRow(QStandardItem* );//添加行
******************************************
QModelIndex bb=aa.index(1,1); 返回指定位置的索引
bb.data().toString(); 索引数据转字符串
bb.row() 索引的行
bb.column() 索引的列
QItemSelection cc(bb,bb) 项目选择
cc.indexes(); //返回所有索引 QModelIndexList
******************************************
QListWidget h1;
QListWidgetItem aa;
aa.setText("海角");
aa.setIcon(QIcon(pixmap));
aa.setToolTip("大海的角落");
h1.insertItem(1,aa);
h1.sortItems(Qt::DescendingOrder);
***************************************
QTreeWidget h1
h1.setColumnCount(2);
h1.setHeaderLabels(QStringList*)
QTreeWidgetItem aa(h1);
aa->setText(0,"小星星");
aa->setText(1,"第二颗星星");
****************************************
QTableWidget h1(3,2);
QTableWidgetItem aa("哈哈");
h1.setItem(1,1,aa);
h1.setVerticalHeaderItem(0,aa);
h1.setHorizontalHeaderItem(0,aa);
h1.show();
*/
/*
QComboBox h1 ->QWidget
h1.addItem(QString&); 添加项目
h1.addItem(QIcon(pix), NULL); 添加项目
h1.setIconSize(QSize(70,20)); 设置图标大小
h1.findText(QString&); 找到文本
h1.setCurrentIndex(int); 设置当前的索引
h1.setSizeAdjustPolicy(QComboBox::AdjustToContents);
设置大小调整策略
QComboBox
添加项目
设置图标大小
找到文本
设置当前的索引
设置大小调整策略
*/
/*
QMainWindow h1 ->QWidget
h1.setCentralWidget(&h); 设置中心部件
h1.statusBar(); //返回状态条
h1.statusBar()->showMessage("文档已打开",3000);//状态条显示信息
h1.statusBar().addPermanentWidget(QLabel *);//状态条添加永久的部件
******************************
设置中心部件
返回状态条
状态条显示信息
状态条添加永久的部件
*/
/*
QDialog h1; ->QWidget
h1.exec(); 执行
QDialog::Accepted
QDialog::Rejected
done(Rejected);
done(Accepted);
接受
拒绝
*/
/*
QMdiArea h1 ->QAbstractScrollArea->QFrame->QWidget
subWindowActivated(QMdiSubWindow*)子窗口激活 信号
h1.addSubWindow(&w); 添加子窗口
h1.setActiveSubWindow(m); 设置活动的子窗口
h1.activeSubWindow(); 返回活动的子窗口
h1.subWindowList(); 返回子窗口链表
h1.closeActiveSubWindow(); 关闭活动的子窗口
h1.closeAllSubWindows(); 关闭所有子窗口
h1.tileSubWindows(); 平铺子窗口
h1.cascadeSubWindows(); 串连子窗口
h1.activateNextSubWindow(); 激活下一个子窗口
h1.activatePreviousSubWindow(); 激活前一个子窗口
h1.currentSubWindow(); 返回当前子窗口
*********************************************
QMdiArea
子窗口激活 信号
添加子窗口
设置活动的子窗口
返回活动的子窗口
返回子窗口链表
关闭活动的子窗口
关闭所有子窗口
平铺子窗口
串连子窗口
激活下一个子窗口
激活前一个子窗口
返回当前子窗口
*/
/*
QRegExp h1("^[A-Za-z0-9]+[0-9]$");
h1.exactMatch("xxxx");
******************************
h1.setPatternSyntax(QRegExp::Wildcard);
h1.setPattern("\\b(hello|Hello)\\b");
h1.indexIn("Hmm hello everyone!")
h1.matchedLength();
*/
/*
动态属性系统
Q_PROPERTY(QString xx READ xx WRITE setxx NOTIFY xxChanged)
void setxx(QString strMaskNum){ 写
aa = strMaskNum;
emit xxChanged(strMaskNum);
};
QString xx()const{ 读
return aa;
};
signals:
void xxChanged(QString str); //信号
dd *aa = new dd;
QObject* obj = aa;
obj->property("xx").toString();//读
obj->setProperty("xx","kkkkkk");//写
*/
/*
信号与曹
Q_OBJECT //支持信号与槽的宏
QMetaObject::Connection aa; //保存信号与槽连接的返回值
aa = connect(this,SIGNAL(xx(QString&)),
this,SLOT(ss(QString&)));
connect(this,&aa::xx,this,&aa::yyy);
connect(this,SIGNAL(xx(QString&)),this,SIGNAL(xxx()));
signals:
void xx(QString& str); //信号不能也无需实现
private slots:
void on_yyy_clicked(){//自动连接,on_对象名_信号名
emit xx(str); //发送信号
};
QObject::connect(&h1, SIGNAL(doubleClicked(QModelIndex)),
&a, SLOT(aa(QModelIndex)));
QObject::connect(&h1, &QAbstractItemView::doubleClicked, aa);
*/
/*
QFileDialog h1; 文件对话框
h1.getOpenFileName(0, "标题", "..", " (*.cpp);;");//获取打开文件名字
h1.getExistingDirectory(0, "标题", ".");//获取存在目录
h1.getSaveFileName(0,"标题",".");//获取保存文件名字
文件对话框
获取打开文件名字
获取存在目录
获取保存文件名字
*****************************************
QFile h1("文件路径");
h1.open(QIODevice::ReadOnly); //打开
h1.close(); //关闭
h1.setFileName("data.txt");//设置文件的名字
char buffer[32];
h1.readLine(buffer,sizeof(buffer)); //读一行
h1.errorString(); //错误字符串
h1.exists(); //是否存在
h1.readAll(); //读所有
打开
关闭
设置文件的名字
读一行
错误字符串
是否存在
读所有
****************************************
QDataStream h3(&h1)
h3<< QString("易烊千玺") //写文件
h3 >> name ;//读文件
****************************************
QTextStream h2(&h1);
h2.atEnd();
h2.readLine();
h2.setCodec("UTF-8");
h2.readAll();
******************************
QFileInfo h1("C:/Users/lz/Desktop/asd.txt");
h1.size(); //返回文件大小
h1.created(); //返回创建时间
h1.lastModified();//返回最后修改时间
h1.lastRead(); //返回最后阅读时间
h1.isDir(); //是否是目录
h1.isFile(); //是否是文件
h1.isSymLink(); //是否是系统链接
h1.isHidden(); //是否是隐藏文件
h1.isReadable(); //是否可读
h1.isWritable(); //是否可写
h1.isExecutable(); //是否可执行
h1.fileName();//返回文件名字
h1.canonicalFilePath();//返回标准的文件路径
返回文件大小
返回创建时间
返回最后修改时间
返回最后阅读时间
是否是目录
是否是文件
是否是系统链接
是否是隐藏文件
是否可读
是否可写
是否可执行
返回文件名字
返回标准的文件路径
*******************************************
QTextDocumentWriter h1("xxx")
h1.write(this->document());
*/
/*
QFrame h1 ->QWidget
h1.setFrameStyle(QFrame::Box); 设置框架风格
********************************
QLabel h1; ->QFrame->QWidget
h1.setText("xxx"); 设置文本
h1.setPixmap(QPixmap("tree.png")); 设置位图
h1.setScaledContents(true); 设置比例内容
h1.setBuddy(); 设置伙伴
h1.setWordWrap(); 设置单词换行
********************************
QFrame h1 ->QWidget
设置框架风格
QLabel h1;
设置文本
设置位图
设置比例内容
设置伙伴
设置单词换行
*/
/*
HorizontalLayout /verticalLayout
QHBoxLayout / QVBoxLayout h1
h1.addWidget(); 添加部件
QSpacerItem aa(30,30)
h1.addItem(aa); 添加项目
h1.addLayout(&ha); 添加布局
h1.setSpacing(10); 设置间隙
h1.setMargin(10); 设置边距
*******************************
QGridLayout h1;
h1.addWidget(&w,0,0,1,1); 添加部件
*******************************
QFormLayout h1;
h1.addRow(&w,&w); 添加行
*******************************
HorizontalLayout /verticalLayout
添加部件
添加项目
添加布局
设置间隙
设置边距
*******************************
QGridLayout h1;
添加部件
*******************************
QFormLayout h1;
添加行
*/
/*
输入对话框
QInputDialog h1;输入对话框
h1.getText(0,"标题","提示",QLineEdit::Normal,"aaa",&ok);
h1.getItem(0,"标题","提示:", sexList,0, true, &ok);
h1.getInt(0,"标题","提示:",20,0,120,1,&ok); 得到整数
h1.getDouble(0, "标题", "提示:", 3.14, 0, 100,1, &ok);得到小数
*****************************************
QInputDialog h1;输入对话框
得到文本
得到字符串
得到整数
得到小数
*/
/*
颜色对话框
QColor h1;
h1.isValid(); 颜色是否有效
QColorDialog h1;
h1.getColor(Qt::yellow); 获取颜色
************************************
颜色是否有效
获取颜色
*/
/*
QLineEdit h1; ->QWidget
h1.text();
h1.displayText();
QLineEdit::returnPressed 信号
h1.clear();
h1.setFocus();
h1.setEchoMode(QLineEdit::Password);
**********************************
返回文本
*/
/*
qobject_cast<ChildWnd*>(actWnd->widget())
Qt::mightBeRichText(text)
*/
/***********************************************/
/*
QAbstractScrollArea h1;
h1.setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
h1.setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
*********************************************
QTextEdit h1 ->QAbstractScrollArea->QWidget
h1.setText("xxxx"); 设置文本
h1.setReadOnly(true); 设置只读
copyAvailable 复制信号可用
h1.undo(); 撤销
h1.redo(); 重做
h1.cut(); 剪切
h1.paste(); 粘贴
h1.copy(); 复制
h1.textColor(); 文本颜色
h1.setHtml(text); 设置超文本
h1.setPlainText("xxxx") 设置纯文本
h1.setAlignment(Qt::AlignLeft | Qt::AlignAbsolute); 设置对齐
h1.find("xxxx",QTextDocument::FindBackward); 找到
h1.document(); 返回文本文件
h1.textCursor();返回文本光标
设置文本
设置只读
复制信号可用
撤销
重做
剪切
粘贴
复制
文本颜色
设置超文本
设置纯文本
设置对齐
找到
返回文本文件
返回文本光标
*********************************************
QTextDocument *aa =h1.document();
QTextFrame *bb = aa->rootFrame(); //返回根框架
QTextCursor dd = h1.textCursor();//返回文本光标
QTextFrameFormat cc;
cc.setBorderBrush(Qt::red);//设置边框笔刷
bb.setFrameFormat(cc);//设置框架格式
dd.insertFrame(cc);//插入框架
******************************************
QTextDocument *aa =h1.document();
aa.blockCount(); //块的总数
QTextBlock bb = aa.firstBlock(); 返回第一个块
bb.firstLineNumber(); //第一行的数字
bb.length(); //长度
bb.text(); //文本
bb.next(); //下一个
*************************************
QTextCursor aa = h1.textCursor();
QTextBlockFormat bb;
bb.setAlignment(Qt::AlignCenter);//设置对齐
bb.indent();//返回缩进
bb.setIndent(0); //设置缩进
aa.insertBlock(bb); //插入块
aa.insertText("xxxx"); //插入文本
**************************************
QTextCursor aa = h1.textCursor();
QTextCharFormat bb
bb.setFontWeight(QFont::Bold);
aa.setCharFormat(bb); 完全覆盖
aa.mergeCharFormat(bb); 合并叠加
h1.mergeCurrentCharFormat(bb); 合并叠加
*************************************
QTextCursor aa =h1.textCursor();
QTextTableFormat bb;
bb.setCellSpacing(2);设置单元格间距
bb.setCellPadding(10); 设置单元格内边距
aa.insertTable(3,3,bb); 插入表格
***********************************
QTextCursor aa=h1.textCursor();
QTextListFormat bb ;
bb.setIndent(1); //设置缩进
bb.setStyle(QTextListFormat::ListDecimal);//设置风格
aa.insertList(bb); //插入链表
aa.createList(bb);//创建链表 字体不会消失
***********************************************
QTextCursor aa=h1.textCursor();
QTextImageFormat bb;
bb.setWidth(200); //设置宽
bb.setHeight(200); //设置高
bb.setName("路径"); //设置路径
aa.insertImage(bb); //插入图片
****************************************
QSyntaxHighlighter hh(h1.document());
void hh::highlightBlock(const QString &text)
{
QTextCharFormat aa;
aa.setFontWeight(QFont::Bold);
aa.setBackground(Qt::red);
aa.setForeground(Qt::green);
QRegExp bb("\\bgood\\b");
int index = text.indexOf(aa);
while(index >= 0){
int length = bb.matchedLength();//匹配到的字符长度
setFormat(index,length,aa);
index = text.indexOf(bb,index + length);
}
}
**************************************************
QTextEdit h1;
QPrinter aa(QPrinter::HighResolution);
QPrintDialog bb(aa,this);
bb->setOption(QAbstractPrintDialog::PrintSelection,true);
bb->exec() == QDialog::Accepted
h1.print(&aa);
delete aa
*********************************************
QTextEdit h1;
QPrinter aa;
QPrintPreviewDialog bb(&aa,this);
connect(&bb,SIGNAL(paintRequested(QPrinter*)),
this,SLOT(xxx(QPrinter*)));
bb.exec();
void xxx(QPrinter* aa){
h1->print(aa);
}
*****************************************
QTextCursor aa= h1.textCursor();
aa.blockNumber();
aa.columnNumber();
aa.hasSelection();
aa.select(QTextCursor::WordUnderCursor);
QTextDocument aa=h1.document();
aa::contentsChanged 信号
aa.setModified(false);
aa.isModified()
*/
浙公网安备 33010602011771号