word网站的链接怎么做宣传册模板

当前位置: 首页 > news >正文

word网站的链接怎么做,宣传册模板,秀堂h5官网,睢阳区网目录 1.QComboBox 1.1 QComboBox概述 1.2 QComboBox信号 1.3 QComboBox常用功能 1.4 QComboBox添加简单项 1.6 QComboBox列表项的访问 2.QPlainTextEdit 2.1 QPlainTextEdit概述 2.2 QPlainTextEdit的基本属性 2.3 QPlainTextEdit的公共函数 2.4 QPlainTextEdit的公…目录 1.QComboBox 1.1 QComboBox概述 1.2 QComboBox信号 1.3 QComboBox常用功能 1.4 QComboBox添加简单项 1.6 QComboBox列表项的访问 2.QPlainTextEdit 2.1 QPlainTextEdit概述 2.2 QPlainTextEdit的基本属性 2.3 QPlainTextEdit的公共函数 2.4 QPlainTextEdit的公共槽 2.5 QPlainTextEdit的信号 2.6 QPlainTextEdit的简单应用 2.7 QComboBox和QPlainTextEdit的组合应用 1.QComboBox 1.1 QComboBox概述 QComboBox是下拉列表框组件类它提供一个下拉列表供用户选择选择的项目内容就会显示在外面其他项目会被隐藏同时在下拉时之前选择的项目位置会被标记好可以理解显示的项目其实是一个之前选择位置项目的副本。这个控件其实预制很很多选项给用户选择减少手动输入的麻烦。也可以QComboBox也直接当作一个QLineEdit用作输入。QComboBox除了显示可见下拉列表外每个项item或称列表项还可以关联一个QVariant类型的变量用于存储一些不可见数据。QComBox可以是可编辑的允许用户修改列表中的每个项目如添加、删除、上移、下移操作还可以设置项的图标但是这个不会影响到预先设置项目。 1.2 QComboBox信号 如果QComBox的当前项发生变化则发出两个信号urrentIndexChanged() 和 activated()。无论更改是通过编程方式还是通过用户交互完成的始终发出 currentIndexChanged()而 active() 仅在更改由用户交互引起时发出。当用户突出显示QComBox弹出列表中的项目时将发出 highlighted() 信号。所有三个信号都存在两个版本一个带有QString参数另一个带有int参数。如果用户选择或突出显示像素图则仅发出 int 信号。每当可编辑QComBox的文本发生更改时都会发出 editTextChanged() 信号。 1.3 QComboBox常用功能 当用户在可编辑QComBox中插入新项目字符串的时候还是有一个插入的策略。默认策略是 InsertAtBottom但您可以使用 setInsertPolicy() 更改此设置。 可以使用 QValidator 将输入限制为可编辑的QComBox参见 setValidator()。默认情况下接受任何输入。 QComBox提供了很多好用的功能。 可以使用插入单个、多个Item例如 insertItem() 和 insertItems() 可以使用 setItemText() 修改项目 可以使用 removeItem() 删除项目 可以使用 clear() 删除所有项目 当前项的文本由 currentText() 返回编号项的文本与 text() 一起返回 可以使用 setCurrentIndex() 设置当前项 QComBox中的项目个数由 count() 返回 可以使用 setMaxCount() 设置的最大项目数 还可以用 setEditable() 是否可编辑 等等
对于可编辑的QComBox您可以使用 setCompleter() 设置自动补全就是输入一部分内容就显示一个可能选择列表等后面专门用 QCompleter 来完成。 1.4 QComboBox添加简单项 QComBox可以包含像素图以及字符串可以用 insertItem() 和 setItemText() 的相关重置函数来插入带图标的列表项。 对于可编辑的QComBox提供了函数 clearEditText()用于清除显示的字符串而不更改QComBox的内容。其实就是只是修改当前的显示内容之前预制的项目还是不会被修改。 void Widget::on_btnIniItemsclicked() {//初始化列表按钮 QIcon icon; iconaddFiIe(:/images/icons/aim.ico); ui—comboBox—clear() for(int i0;i20i){     ui—comboBox—addItem(icon,QString::asprintfItem %d,i));//带图标     //ui—comboBox—addItem(QString::asprintf(Item %d,i//不带图标 } 添加一个项时可以指定一个图标图标来源于资源文件。 addltem()用于添加一个列表项如果只是添加字符串列表项而且数据来源于一个QStringList变量可以使用addltems()函数示例代码如下 ui—comboBox—clear(); QStringList strList; strList北京上海天津河北省山东省山西省; ui—comboBox—addItems(strList); 1.5 QComboBox添加具有用户数据的项 QComboBox::addItem()函数的两种参数的原型定义如下 void addltem(const QString text,const QVariant userData QVariant()) void addltem(const QIcon icoconst QString textconst QVariant userData   QVariant()) 不管是哪一个addltem()函数后面都有一个可选的QVariant类型的参数userData可以利用 这个变量存储用户定义数据。 这里定义了一个关联容器类QMapQString,intCity_Zone用于存储城市区号映射表。为City_Zone填充数据后给comboBox2添加项时使用了foreach关键字遍历City_Zone.keys()。 按钮信号触发ComboBox组件使用用户数据“初始化城市区号”按钮的槽函数代码如下 void Widget::on_btnIni2_clicked() {//初始化具有自定义数据的 QMapQString,int City_Zone City_Zone.insert(北京,10); City_Zone.insert(上海,21); City_Zone.insert(天津,22); City_Zone.insert(大连,411); City_Zone.insert(锦州,416); City_Zone.insert(徐州,516); City_Zone.insert(福州,591); City_Zone.insert青岛,532); ui-comboBox2-c1ear(); foreach(const QString str,City_Zone.keys()) //添加项语句如下城市名称作为项显示的字符串电话区号作为项关联的用户数据但是在列表框里只能看到 城市名称。 ui-comboBox2-addItem(str,City_Zone.value(str)); //注意将City_zone的内容添加到列表框之后列表框里显示的列表项的顺序与源程序中设置City_zone的顺序不一致因为QMapKey,T容器类会自动按照Key排序。 1.6 QComboBox列表项的访问 QComboBox存储的项是一个列表但是QComboBox不提供整个列表用于访问可以通过索引访问某个项。访问项的一些函数主要有以下几种。 int currentlndex()返回当前项的序号第一个项的序号为0。 QString currentText()返回当前项的文字。 QVariant currentData(int role Qt::UserRole)返回当前项的关联数据数据的缺省角色为roleQt::UserRole QString itemText(int index)返回指定索引号的项的文字。 QVariant itemData(int index,int roleQt::UserRole)返回指定索引号的项的关联数据。 int count()返回项的个数。
在一个QComboBox组件上选择项发生变化时会发射如下两个信号 void currentlndexChangedint index) void currentlndexChangedconst QString text) 这两个信号只是传递的参数不同一个传递的是当前项的索引号一个传递的当前项的文字。 2.QPlainTextEdit 2.1 QPlainTextEdit概述 QPlainTextEdit类继承于QAbstractScrollAreaQAbstractScrollArea继承于QFrame是Qt用来显示和编辑纯文本的窗口。  QPlainTextEdit是纯文本的高级查看器/编辑器它经过优化可以处理大型文档并快速响应用户输入。QPlainTextEdit使用与QTextEdit非常相同的技术和概念但针对纯文本处理进行了优化。QPlainTextEdit适用于段落和字符实际应用中显示串口监控信息、网络传输信息、文本文件读取编辑等情景下使用。 2.2 QPlainTextEdit的基本属性 1、backgroundVisible 该属性表示确定调色板背景是否在文档区域之外可见。 bool backgroundVisible() const         void setBackgroundVisible(bool visible) 如果设置为true则纯文本编辑器将在文本文档未覆盖的视口区域上绘制调色板背景。该特性使用户可以直观地区分使用调色板的基本色绘制的文档区域和未被任何文档覆盖的空白区域。 2、blockCount         此属性保存文档中文本块的数量(回车换行之后算单独一块)。默认情况下在空文档中此属性的值为1。 int blockCount() const 3、centerOnScroll 此属性用于确定光标是否应该在屏幕上居中。 bool centerOnScroll() const         void setCenterOnScroll(bool enabled) 设置为true则纯文本编辑器将垂直滚动文档使光标在视窗中心可见允许文本编辑滚动到文档末尾以下。我们光标往下到底部的时候继续往下屏幕会居中。 设置为false则纯文本编辑将滚动尽可能小的量以确保光标可见。 4、cursorWidth 该属性表示光标的宽度默认宽度为1个像素。 int cursorWidth() const         void setCursorWidth(int width) 5、documentTitle 该属性表示文档的标题没有实际的效果。 QString documentTitle() const         void setDocumentTitle(const QString title) 6、lineWrapMode 该属性表示自动换行策略默认QPlainTextEdit::WidgetWidth。 QPlainTextEdit::LineWrapMode lineWrapMode() const         void setLineWrapMode(QPlainTextEdit::LineWrapMode mode) NoWrap   不换行 WidgetWidth  文字被包装在文本编辑的右边缘换行发生在空白处保持整个单词完整 7、wordWrapMode 该属性表示单词间换行策略默认QTextOption::WrapAtWordBoundaryOrAnywhere。 QTextOption::WrapMode wordWrapMode() const         void setWordWrapMode(QTextOption::WrapMode policy) NoWrap     不换行 WordWrap   文本在单词边界处换行 ManualWrap  不换行 WrapAnywhere   文本可以在一行中的任何点换行即使它出现在单词的中间。 WrapAtWordBoundaryOrAnywhere   优先在字边界处换行;否则它将出现在行上的适当点上甚至在单词的中间。 8、maximumBlockCount 该属性表示文档块的最大个数默认为0。当超出最大限制的时候会从开头删除块。如果设置的是负数或者零表示不限制。设置此属性会禁用撤消重做历史记录。 int maximumBlockCount() const         void setMaximumBlockCount(int maximum) 9、overwriteMode 该属性保存用户输入的文本是否会覆盖现有文本。 和许多文本编辑器一样纯文本编辑器小部件可以配置为使用用户输入的新文本插入或覆盖现有文本。如果此属性为true现有文本将被新文本逐字符覆盖;否则将在光标位置插入文本取代现有文本。 大多数编辑器都是按下键盘的Insert键开启此模式软件实现可以响应按键事件检测按下Insert按键的时候切换此状态即可。 bool overwriteMode() const         void setOverwriteMode(bool overwrite) 10、placeholderText 该属性表示当文档内容为空的时候显示占位符提示文本。 QString placeholderText() const         void setPlaceholderText(const QString placeholderText) 11、plainText 该属性表示当前文本内容重新设置会覆盖之前的内容撤销/重做历史将被重置如果光标不在开头那么文本格式也会被重置。 QString toPlainText() const         void setPlainText(const QString text) 12、readOnly 该属性表示内容是否可只读默认false。 bool isReadOnly() const         void setReadOnly(bool ro) 13、tabChangesFocus 该属性表示用户按下Tab键是否缩进默认fasle。 bool tabChangesFocus() const         void setTabChangesFocus(bool b) 14、tabStopDistance 该属性表示以像素为单位保存制表位距离默认情况下此属性的值为80。这个属性在Qt 5.10中被引入。 qreal tabStopDistance() const         void setTabStopDistance(qreal distance) 15、textInteractionFlags 该属性表示显示文本如何与用户输入交互策略readOnly属性会影响这个策略。 Qt::TextInteractionFlags textInteractionFlags() const         void setTextInteractionFlags(Qt::TextInteractionFlags flags) NoTextInteraction   不与文本做交互 TextSelectableByMouse   可以用鼠标选择文本并使用上下文菜单或标准键盘快捷键将文本复制到剪贴板 TextSelectableByKeyboard   可以用键盘上的光标键选择文本。显示一个文本光标。 LinksAccessibleByMouse   链接可以用鼠标突出显示和激活。 LinksAccessibleByKeyboard  链接可以使用tab键聚焦并使用enter键激活。 TextEditable   文本是完全可编辑的。 TextEditorInteraction    TextSelectableByMouseTextSelectableByKeyboardTextEditable TextBrowserInteraction  TextSelectableByMouseLinksAccessibleByMouseLinksAccessibleByKeyboard 16、undoRedoEnabled 该属性表示是否开启撤销和重做默认开启。 bool isUndoRedoEnabled() const         void setUndoRedoEnabled(bool enable) 2.3 QPlainTextEdit的公共函数 1anchorAt 返回位置pos处锚的引用如果该点不存在锚则返回一个空字符串。 QString anchorAt(const QPoint pos) const 当我们需要在文档上打开一个链接逻辑是鼠标在链接处按下并且在此链接上释放可以通过鼠标按下和释放事件去检测鼠标事件触发。但我们如何去判断是否在同一个链接上触发的事件这时候就需要用到anchorAt去检测某pos处的锚。 #ifndef PLAINTEXTEDIT_H #define PLAINTEXTEDIT_H#include QPlainTextEdit #include QMouseEventclass PlainTextEdit : public QPlainTextEdit {Q_OBJECTprivate:QString clickedAnchorStr;public:explicit PlainTextEdit(QWidget *parent 0) : QPlainTextEdit(parent){}void mousePressEvent(QMouseEvent *e){clickedAnchorStr (e-button() Qt::LeftButton) ? anchorAt(e-pos()) :QString();QPlainTextEdit::mousePressEvent(e);}void mouseReleaseEvent(QMouseEvent *e){if (e-button() Qt::LeftButton !clickedAnchor.isEmpty() anchorAt(e-pos()) clickedAnchorStr){emit linkActivated(clickedAnchor);}QPlainTextEdit::mouseReleaseEvent(e);}signals:void linkActivated(QString); }; 2canPaste 返回是否可以粘贴。 bool canPaste() const 3createStandardContextMenu 当用户鼠标右击的时候创建和显示一个menu菜单栏小窗口一般在contextMenuEvent事件中触发。 QMenu *createStandardContextMenu() QMenu *createStandardContextMenu(const QPoint position) void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event) {QMenu *menu createStandardContextMenu();menu-addAction(tr(My Menu Item));//…menu-exec(event-globalPos());delete menu; } 4currentCharFormat 返回当前使用的的字符格式。 QTextCharFormat currentCharFormat() const 5setCurrentCharFormat 设置当前使用的字符格式QTextCharFormat。 void setCurrentCharFormat(const QTextCharFormat format) 6cursorForPosition 返回某坐标下的文本光标QTextCursor(包含关于光标在文本中的位置和它所做的任何选择的信息)经典用法用来判断是否越界。   QTextCursor cursorForPosition(const QPoint pos) const 7cursorRect 返回一个包含文本光标的QRect矩形经典用法用来判断是否越界。 QRect cursorRect(const QTextCursor cursor) const QRect cursorRect() const 8document 返回文档类QTextDocument。 QTextDocument *document() const 9setDocument 设置一个文档类QTextDocument使它成为编辑器的文档。 void setDocument(QTextDocument *document) 10ensureCursorVisible 通过滚动文档让光标可见。 void ensureCursorVisible() 11setExtraSelections void setExtraSelections(const QListQTextEdit::ExtraSelection selections) 此函数允许用给定的颜色临时标记文档中的某些区域指定为选择。例如在编程编辑器中用给定的背景颜色标记整行文本以指示断点的存在。 12extraSelections 返回设置的额外选择项。 QListQTextEdit::ExtraSelection extraSelections() const 13find 多个方法查找字符、表达式、正则表达式是否存在。 bool find(const QString exp, QTextDocument::FindFlags options QTextDocument::FindFlags()) bool find(const QRegExp exp, QTextDocument::FindFlags options QTextDocument::FindFlags()) bool find(const QRegularExpression exp, QTextDocument::FindFlags options QTextDocument::FindFlags()) 14loadResource 加载由给定类型和名称指定的资源。这个函数是QTextDocument::loadResource()的扩展。 QVariant loadResource(int type, const QUrl name) 15moveCursor 通过执行给定的操作移动光标。 void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode QTextCursor::MoveAnchor) 16print 这相当于直接调用文档上的print方法只不过该函数还支持QPrinter::Selection作为打印范围。 void print(QPagedPaintDevice *printer) const 17toPlainText 纯文本形式返回字符串。 QString toPlainText() const 2.4 QPlainTextEdit的公共槽 void appendHtml(const QString html)        //尾部加入html格式文本 void appendPlainText(const QString text)   //尾部添加纯文本 void centerCursor()                         //居中光标 void clear()                                //清除 void copy()                                 //复制 void cut()                                  //剪切 void insertPlainText(const QString text)   //插入纯文本 void paste()                                //粘贴 void redo()                                 //重做 void selectAll()                            //选择全部 void setPlainText(const QString text)      //清空之前的文本并设置纯文本 void undo()                                 //撤销 void zoomIn(int range 1)                  //缩小 void zoomOut(int range 1                  //放大 2.5 QPlainTextEdit的信号 //文本块数量改变触发 void blockCountChanged(int newBlockCount) //可复制触发 void copyAvailable(bool yes) //光标位置改变触发 void cursorPositionChanged() //修改状态发生更改时触发此信号 void modificationChanged(bool changed) //可重做触发 void redoAvailable(bool available) //选择内容改变触发 void selectionChanged() //文本内容改变触发 void textChanged() //可撤销触发 void undoAvailable(bool available) //文档更新触发rect表示新视口区域dy表示滚动像素量 void updateRequest(const QRect rect, int dy) 2.6 QPlainTextEdit的简单应用 1.QPlainTextEdit的功能 QPlainTextEdit是用于编辑多行文本的编辑器用于显示和编辑多行简单文本。另外还有一个QTextEdit组件是一个所见即所得的可以编辑带格式文本的组件以HTML格式标记符定义文本格式。 使用QPIainTextEdit::appendPlainText(const QString text)函数就可以向PlainTextEdit组件添加一行字符串。 QPlainTextEdit提供cut()、copy()、paste()、undo()、redo()、clear()、selectAII()等标准编辑功 能的槽函数QPlainTextEdit前还提供一个标准的右键快捷菜单。

  1. 逐行读取文字内容 如果要将QPlainTextEdit组件里显示的所有文字读取出来有一个简单的函数toPIainText()可 以将全部文字内容输出为一个字符串其定义如下 QString QPIainTextEdxt::toPlainText() const 但是如果要逐行读取QPIainTextEdit组件里的字符串则稍微麻烦一点。 “文本框内容添加到ComboBox”按钮的响应代码它将plainTextEdit里的每一行作为一个项添加到comboBox里。 void Widge::on_btnToComboBox_clicked() {//plainTextEdit的内容逐行添加为comboBox的项QTextDocument* docui—plainTextEdit—document();//文本对象int cntdoc-blockCount()//回车符是一个blockQIcon icon(:/images/icons/aim.ico); ui—comboBox—c1ear();for(int i0;icnt;i){ QTextBlock textLine doc-findBlockByNumber(i);//文本中的一段QString str textLine.text();ui-comboBox-addItem(ico,str);} } QPIainTextEdit的文字内容以QTextDocument类型存储函数document()返回这个文档对象的 指针。 QTextDocument是内存中的文本对象以文本块的方式存储一个文本块就是一个段落每 个段落以回车符结束。QTextDocument提供一些函数实现对文本内容的存取。 int blockCount()获得文本块个数。 QTextBlockfindBIockByNumber(int blockNumber)读取某一个文本块序号从0开始至
    blockCount()-1结束。 一个document有多个TextBIock从document中读取出的一个文本块类型为QTextBIock通过QTextBlock::text()函数可以获取其纯文木文字。 3.使用QPlainTextEdit自带的快捷菜单 QPlainTextEdit是一个多行文字编辑框有自带的右键快捷菜单可实现常见的编辑功能。在 UI设计器里选择为plainTextEdit的customContextMenuRequested()信号生成槽函数编写如下的代码就可以创建并显示QPIainTextEdit的标准快捷菜单 void Widget::on_plainTextEdit_customContextMenuRequested(const QPoint pos){/创建并显示标准弹出式菜单QMenu* menu ui-plainTextEdit-createStandardContextMenu();menu-exec(pos);} 2.7 QComboBox和QPlainTextEdit的组合应用 1main.cpp文件 #include widget.h #include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();re 2widget.h文件 #ifndef WIDGET_H #define WIDGET_H#include QWidgetnamespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent 0);~Widget();private slots:void on_btnIniItems_clicked();void on_btnClearItems_clicked();void on_chkBoxEditable_clicked(bool checked);void on_comboBox_currentIndexChanged(const QString arg1);void on_btnClearText_clicked();void on_chkBoxReadonly_clicked(bool checked);void on_btnToComboBox_clicked();void on_plainTextEdit_customContextMenuRequested(const QPoint pos);void on_btnIni2_clicked();void on_comboBox2_currentIndexChanged(const QString arg1);private:Ui::Widget *ui; };#endif // WIDGET_H 3widget.cpp文件 #include widget.h #include ui_widget.h#include QTextDocument #include QTextBlock #include QMenu#include QMap #include QVariantWidget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui-setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_btnIniItems_clicked() { //初始化列表按键QIcon icon;icon.addFile(:/images/icons/aim.ico);ui-comboBox-clear(); //清除列表for (int i0;i20;i)ui-comboBox-addItem(icon,QString::asprintf(Item %d,i)); //添加一个字符串 // ui-comboBox-addItem(QString::asprintf(Item %d,i)); //添加一个字符串// QStringList strList; // strList北京上海天津河北省山东省山西省; // ui-comboBox-addItems(strList); }void Widget::on_btnClearItems_clicked() {ui-comboBox-clear(); //清除条目 }void Widget::on_chkBoxEditable_clicked(bool checked) { //设置comboBox是否可编辑ui-comboBox-setEditable(checked); }void Widget::on_comboBox_currentIndexChanged(const QString arg1) { //comboBox选择一个条目时文本添加到 plainTextEditui-plainTextEdit-appendPlainText(arg1); }void Widget::on_btnClearText_clicked() { //清除文本框ui-plainTextEdit-clear(); }void Widget::on_chkBoxReadonly_clicked(bool checked) {//设置 plainTextEdit 的 ReadOnly 属性ui-plainTextEdit-setReadOnly(checked); }void Widget::on_btnToComboBox_clicked() { //plainTextEdit 的内容逐行添加为 comboBox 的条目 // QTextDocument doc; //文本对象 // QTextBlock textLine; //文本中的一段QTextDocument docui-plainTextEdit-document(); //QPlainTextEdit 的内容保存在一个 QTextDocument 里int cntdoc-blockCount();//QTextDocument分块保存内容文本文件就是硬回车符是一个block,// QIcon icon;QIcon icon(:/images/icons/aim.ico); // icon.addFile(:/images/icons/aim.ico);ui-comboBox-clear(); //清除条目for (int i0; icnt;i) //扫描所有 blobk{QTextBlock textLinedoc-findBlockByNumber(i);//用blobk编号获取block就是获取一行QString strtextLine.text(); //转换为文本ui-comboBox-addItem(icon,str); //添加一个条目到comboBox} }void Widget::on_plainTextEdit_customContextMenuRequested(const QPoint pos) { //创建并显示标准弹出式菜单 // Q_UNUSED(pos); // QMenu menu;QMenu menuui-plainTextEdit-createStandardContextMenu(); //创建标准右键菜单 // menu-exec(QCursor::pos());//在鼠标光标位置显示右键快捷菜单menu-exec(pos);//在鼠标光标位置显示右键快捷菜单 }void Widget::on_btnIni2_clicked() {//初始化具有自定义数据的comboBox //QMap自动根据 key排序QMapQString, int City_Zone;City_Zone.insert(北京,10);City_Zone.insert(上海,21);City_Zone.insert(天津,22);City_Zone.insert(大连,411);City_Zone.insert(锦州,416);City_Zone.insert(徐州,516);City_Zone.insert(福州,591);City_Zone.insert(青岛,532);ui-comboBox2-clear();使用迭代器 // QMapIteratorQString, int item(City_Zone); // while (item.hasNext()) { // item.next(); // ui-comboBox2-addItem(item.key(), // QVariant::fromValue(item.value())); // }foreach(const QString str,City_Zone.keys())ui-comboBox2-addItem(str,City_Zone.value(str)); }void Widget::on_comboBox2_currentIndexChanged(const QString arg1) { //条目有用户数据QString zoneui-comboBox2-currentData().toString();ui-plainTextEdit-appendPlainText(arg1:区号zone); } 4widget.ui文件 5运行界面