1)显示中文:
在main.cpp中加入:
#include<QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
2)如何将QLabel 和QLindEdit在代码中建立伙伴关系:
第一种直接在构造函数中(利用setBuddy函数):
ui->label3->setBuddy(ui->LineEdit);//因为Label3与LineEdit都属于ui中的空间
3)如何用代码添加菜单(在对应.CPP文件的构造函数中添加)
QMenu *editMenu = ui->menuBar->addMenu(tr("编辑(&E)"));//添加编辑菜单
QAction *action_open = editMenu->addAction(QIcon("D:/For Code/5-1/myMainWindow/images/open.png"),tr("打开文件(&O)"));//添加打开菜单
action_open ->setShortcut(QKeySequence("Ctrl+O"));//设置快捷键
ui->mainToolBar->addAction(action_open);//在工具栏中添加动作
3)富文本处理:
// QT 第5章节---富文本处理-框架的实际应用
QTextDocument *document = ui->textEdit->document();//获取文档对象
QTextFrame *rootFrame = document->rootFrame();//获取根框架
QTextFrameFormat format;//创建框架格式
format.setBorderBrush(Qt::red);//边界颜色
format.setBorder(3);//边界宽度
rootFrame->setFrameFormat(format);//框架使用格式
//使用光标类对象,在根框架中再添加一个子框架
QTextFrameFormat frameFormat;
frameFormat.setBackground(Qt::lightGray);//设定背景颜色
frameFormat.setMargin(10);//设定边距
frameFormat.setPadding(5);//设定填衬
frameFormat.setBorder(2);
frameFormat.setBorderStyle(QTextFrameFormat::BorderStyle_DotDash);//边框样式
QTextCursor cursor = ui->textEdit->textCursor();
cursor.insertFrame(frameFormat);文本处理
注:BorderStyle有 :
1)BorderStyle_Dashed;
2)BorderStyle_Dot Dash;
3)BrderStyle_Dot Dot Dash;
4)BorderStyle_Dotted;
5)BorderStyle_Double;
6)BorderStyle_Groove;
4)文本块
文本块的根式主要是由QTextBlockFormat类来处理,主要涉及对其方式、文本块四周边白、缩进等内容。而文本块中的文本内容的格式,比如字体大小、加粗、下划线等内容,则是由QTextCharFormat类来设置
5)connect()函数
将信号发送者sender对象中的信号signal与接受者receiver中的member槽函数联系起来。当指定信号signal时必须使用宏SIGNAL(),当指定槽函数时必须使用宏SLOT(),如果发送者与连接者属于同一个对象时,那么在connect调用中接受者参数可以忽略。
例如:connect(action_font, SIGNAL(toggled(bool)), this, SLOT(setTextFont(bool)));
具体如下:
QAction *action_font = new QAction(tr("字体"), this);
action_font -> setCheckable(true);//设置动作可以被选中
connect(action_font, SIGNAL(toggled(bool)), this, SLOT(setTextFont(bool)));
ui->mainToolBar->addAction(action_font);
QT学习笔记(一)
猜你喜欢
转载自daisy-xu.iteye.com/blog/2180156
今日推荐
周排行