mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H #include <QMenu>
#include <QAction>
#include <QFont>
#include <QToolBar>
#include <QLabel>
#include <QComboBox>
#include <QLineEdit>
#include <QTextEdit>
#include <QPrinter>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QActionGroup>
#include <QPrintDialog>
#include <QPushButton>
#include <QToolButton>
#include <QTextStream>
#include <QMessageBox>
#include <QTextCodec>
#include <QMainWindow>
#include <QFileDialog>
#include <QFontDialog>
#include <QInputDialog>
#include <QFontDatabase>
#include <QFontComboBox>
#include <QColorDialog> namespace Ui {
class MainWindow;
} class MainWindow : public QMainWindow
{
Q_OBJECT public:
explicit MainWindow(QWidget *parent = );
void createAction();
void createMenu();
void createToolBar();
void fileRead();//读文件
void fileWrite();//写文件
~MainWindow(); public:
Ui::MainWindow *ui;
QMenu *file;
QMenu *edit;
QMenu *style;
QMenu *insert;//插入菜单
QMenu *search;//查找菜单
QMenu *help;//帮助菜单 QToolBar *fileToolBar;
QToolBar *editToolBar;
QToolBar *styleToolBar;
QToolBar *insertToolBar;
QToolBar *searchToolBar;
QToolBar *helpToolBar; QTextEdit *textEdit; QAction *newFile;
QAction *openFile;
QAction *save;
QAction *saveAs;
QAction *printText;
QAction *exit; QAction *undoAction;//撤销
QAction *redoAction;//恢复
QAction *copy;
QAction *cut;
QAction *paste; QAction *insertImg;
QAction *insertTable; QAction *find; QAction *about;
QAction *aboutQt; QAction *bold;
QAction *italic;
QAction *underLine;
QAction *color; QAction *left;
QAction *center;
QAction *right;
QAction *justify;
QActionGroup *group; QLabel *fontLabel;
QLabel *fontSizeLabel;
QFontComboBox *fontCom;
QComboBox *fontSizeCom; QString fileName; QLineEdit *lineEdit;
QLabel *label;
QPushButton *btn;
QVBoxLayout *layout; QLineEdit *column;
QLineEdit *row; private slots:
void findNext(); void NewFile();
void OpenFile();
void Save();
void SaveAs();
void Color();
void Bold();
void Italic();
void UnderLine();
void ALignment(QAction *);
void PrintText();
void InsertImage();
void InsertTable();
void mergeFormat(QTextCharFormat);
void FontComBox(QString fontComStr);
void FontSizeCom(QString fontSizeStr);
void Find();
void About();
void AboutQt();
void showCurrentCharFormatChanged(const QTextCharFormat &form); };

mainwindow.cpp:

#endif // MAINWINDOW_H
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
setWindowIcon(QIcon(":/images/textEditor.png"));
setWindowTitle(tr("Qt文本编辑器"));
textEdit = new QTextEdit();
setCentralWidget(textEdit);
createAction();//创建动作
createMenu();//创建菜单
createToolBar();//创建工具栏 //文件菜单的动作与槽的连接
connect(newFile,SIGNAL(triggered()),this,SLOT(NewFile()));
connect(openFile,SIGNAL(triggered()),this,SLOT(OpenFile()));
connect(save,SIGNAL(triggered()),this,SLOT(Save()));
connect(saveAs,SIGNAL(triggered()),this,SLOT(SaveAs()));
connect(exit,SIGNAL(triggered()),this,SLOT(close()));
//编辑菜单的动作与槽的连接
connect(cut,SIGNAL(triggered()),textEdit,SLOT(cut()));
connect(copy,SIGNAL(triggered()),textEdit,SLOT(copy()));
connect(paste,SIGNAL(triggered()),textEdit,SLOT(paste()));
connect(undoAction,SIGNAL(triggered()),textEdit,SLOT(undo()));
connect(redoAction,SIGNAL(triggered()),textEdit,SLOT(redo()));
//字体设置动作与槽的连接
connect(fontCom,SIGNAL(activated(QString)),this,
SLOT(FontComBox(QString)));
//字号设置动作与槽的连接
connect(fontSizeCom,SIGNAL(activated(QString)),this,SLOT(FontSizeCom(QString))); connect(textEdit,SIGNAL(currentCharFormatChanged(QTextCharFormat&)),
this,SLOT(showCurrentCharFormatChanged(QTextCharFormat&))); //颜色编辑动作与槽的连接
connect(color,SIGNAL(triggered()),this,SLOT(Color()));
//格式菜单动作与槽的连接
connect(bold,SIGNAL(triggered()),this,SLOT(Bold()));
connect(italic,SIGNAL(triggered()),this,SLOT(Italic()));
connect(underLine,SIGNAL(triggered()),this,SLOT(UnderLine())); connect(group,SIGNAL(triggered(QAction*)),this,SLOT(ALignment(QAction *)));
//插入菜单动作与槽的连接
connect(insertImg,SIGNAL(triggered()),this,SLOT(InsertImage()));
connect(insertTable,SIGNAL(triggered()),this,SLOT(InsertTable()));
//打印动作与槽的连接
connect(printText,SIGNAL(triggered()),this,SLOT(PrintText()));
//查找菜单动作与槽的连接
connect(find,SIGNAL(triggered()),this,SLOT(Find())); connect(about,SIGNAL(triggered()),this,SLOT(About()));
connect(aboutQt,SIGNAL(triggered()),this,SLOT(AboutQt()));
resize(,);
} //创建动作 void MainWindow::createAction(){
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
//新建文件
newFile = new QAction(QIcon(":/images/new.png"),tr("新建文件"),this);
newFile->setShortcut(tr("Ctrl+N"));
newFile->setStatusTip(tr("新建一个文件"));
//打开文件
openFile = new QAction(QIcon(":/images/open.png"),tr("打开文件"),this);
openFile->setShortcut(tr("Ctrl+O"));
openFile->setStatusTip(tr("打开一个文件"));
//保存文件
save = new QAction(QIcon(":/images/save.png"),tr("保存"),this);
save->setShortcut(tr("Ctrl+S"));
save->setStatusTip(tr("保存文件"));
//另存为
saveAs = new QAction(QIcon(":/images/saveAs.png"),tr("另存为"),this);
saveAs->setShortcut(tr("Ctrl+A"));
saveAs->setStatusTip(tr("文件另存为"));
//打印
printText = new QAction(QIcon(":/images/printText.png"),tr("打印"),this);
printText->setShortcut(tr("Ctrl+P"));
printText->setStatusTip(tr("打印"));
//退出
exit = new QAction(QIcon(":/images/exit.png"),tr("退出"),this);
exit->setShortcut(tr("Ctrl+E"));
exit->setStatusTip(tr("退出"));
//恢复
redoAction = new QAction(QIcon(":/images/redo.png"),tr("恢复"),this);
redoAction->setShortcut(tr("Ctrl+R"));
redoAction->setStatusTip(tr("恢复"));
//撤销
undoAction = new QAction(QIcon(":/images/undo.png"),tr("撤销"),this);
undoAction->setShortcut(tr("Ctrl+U"));
undoAction->setStatusTip(tr("撤销"));
//剪切
cut = new QAction(QIcon(":/images/cut.png"),tr("剪切"),this);
cut->setShortcut(tr("Ctrl+X"));
cut->setStatusTip(tr("剪切"));
//复制
copy = new QAction(QIcon(":/images/copy.png"),tr("复制"),this);
copy->setShortcut(tr("Ctrl+C"));
copy->setStatusTip(tr("复制"));
//粘贴
paste = new QAction(QIcon(":/images/paste.png"),tr("黏贴"),this);
paste->setShortcut(tr("Ctrl+P"));
paste->setStatusTip(tr("粘贴")); //粗体
bold = new QAction(QIcon(":/images/bold.png"),tr("粗体"),this);
bold->setStatusTip(tr("粗体字"));
bold->setCheckable(true);
//斜体
italic = new QAction(QIcon(":/images/italic.png"),tr("斜体"),this);
italic->setStatusTip(tr("斜体字"));
italic->setCheckable(true);
//下划线
underLine = new QAction(QIcon(":/images/underline.png"),tr("下划线"),this);
underLine->setStatusTip(tr("下划线"));
underLine->setCheckable(true);
//颜色
color = new QAction(QIcon(":/images/color.png"),tr("颜色"),this);
color->setShortcut(tr("Ctrl+C"));
color->setStatusTip(tr("颜色编辑")); group = new QActionGroup(this);
//左对齐
left = new QAction(QIcon(":/images/left.png"),tr("左对齐"),group);
left->setStatusTip(tr("左对齐"));
left->setCheckable(true);
//居中
center = new QAction(QIcon(":/images/center.png"),tr("居中对齐"),group);
center->setStatusTip(tr("居中对齐"));
center->setCheckable(true);
//右对齐
right = new QAction(QIcon(":/images/right.png"),tr("右对齐"),group);
right->setStatusTip(tr("右对齐"));
right->setCheckable(true);
//两端对齐
justify = new QAction(QIcon(":/images/justify.png"),tr("两端对齐"),group);
justify->setStatusTip(tr("两端对齐"));
justify->setCheckable(true); group->addAction(left);
group->addAction(center);
group->addAction(right);
group->addAction(justify);
//插入图片
insertImg = new QAction(QIcon(":/images/image.png"),tr("插入图片"),this);
insertImg->setStatusTip(tr("插入图片"));
//插入表格
insertTable = new QAction(QIcon(":/images/table.png"),tr("插入表格"),this);
insertTable->setStatusTip(tr("插入表格"));
//查找
find = new QAction(QIcon(":/images/find.png"),tr("查找"),this);
find->setShortcut(tr("Ctrl+F"));
find->setStatusTip(tr("查找"));
//关于
about = new QAction(QIcon(":/images/about.png"),tr("关于"),this);
about->setStatusTip(tr("关于")); //字体
fontLabel = new QLabel(tr("字体"));
fontCom = new QFontComboBox();
fontCom->setFontFilters(QFontComboBox::ScalableFonts);
fontCom->setStatusTip(tr("字体设置"));
//字号
fontSizeLabel = new QLabel(tr("字号"));
QFontDatabase db;
fontSizeCom = new QComboBox();
foreach(int size,db.standardSizes())
fontSizeCom->addItem(QString::number(size));
fontSizeCom->setStatusTip(tr("字号设置"));
//关于
aboutQt = new QAction(tr("关于QT"),this);
aboutQt->setStatusTip(tr("关于Qt")); } //创建菜单
void MainWindow::createMenu(){
//文件菜单
file = menuBar()->addMenu(tr("文件(&F)"));
file->addAction(newFile);
file->addAction(openFile);
file->addSeparator();
file->addAction(save);
file->addAction(saveAs);
file->addSeparator();
file->addAction(printText);
file->addSeparator();
file->addAction(exit);
//编辑菜单
edit = menuBar()->addMenu(tr("编辑(&E)"));
edit->addAction(undoAction);
edit->addAction(redoAction);
edit->addSeparator();
edit->addAction(cut);
edit->addAction(copy);
edit->addAction(paste);
//插入菜单
insert = menuBar()->addMenu(tr("插入(&I)"));
insert->addAction(insertImg);
insert->addAction(insertTable);
//查找菜单
search = menuBar()->addMenu(tr("查找(&F)"));
search->addAction(find);
//格式菜单 style = menuBar()->addMenu(tr("格式(&S)"));
style->addAction(bold);
style->addAction(italic);
style->addAction(underLine);
style->addSeparator();
style->addAction(color);
style->addSeparator();
style->addAction(left);
style->addAction(center);
style->addAction(right);
style->addAction(justify);
//帮助菜单
help = menuBar()->addMenu(tr("帮助(&H)"));
help->addAction(about);
help->addAction(aboutQt); }
//创建工具栏
void MainWindow::createToolBar(){
//文件
fileToolBar = addToolBar(tr("文件(&N)"));
fileToolBar->addAction(newFile);
fileToolBar->addAction(openFile);
fileToolBar->addSeparator(); fileToolBar->addAction(save);
fileToolBar->addAction(saveAs);
fileToolBar->addSeparator(); fileToolBar->addAction(printText);
fileToolBar->addSeparator();
//编辑
editToolBar = addToolBar(tr("编辑(&E)"));
editToolBar->addAction(undoAction);
editToolBar->addAction(redoAction);
editToolBar->addSeparator();
editToolBar->addAction(cut);
editToolBar->addAction(copy);
editToolBar->addAction(paste);
//格式
styleToolBar = addToolBar(tr("格式(&S)"));
styleToolBar->addAction(bold);
styleToolBar->addAction(italic);
styleToolBar->addAction(underLine);
styleToolBar->addSeparator(); styleToolBar->addAction(left);
styleToolBar->addAction(center);
styleToolBar->addAction(right);
styleToolBar->addAction(justify);
styleToolBar->addSeparator(); styleToolBar->addWidget(fontLabel);
styleToolBar->addWidget(fontCom);
styleToolBar->addWidget(fontSizeLabel);
styleToolBar->addWidget(fontSizeCom);
//插入
insertToolBar = addToolBar(tr("插入(&I)"));
insertToolBar->addAction(insertImg);
insertToolBar->addAction(insertTable);
insertToolBar->addSeparator();
//查找
searchToolBar = addToolBar(tr("查找(&F)"));
searchToolBar->addAction(find);
search->addSeparator();
} //封装的读文件,用于精简程序
void MainWindow::fileRead(){
QFile file(fileName);
if(!file.open(QFile::ReadOnly|QFile::Text)){
QMessageBox::warning(this,tr("多文档编辑器"),
tr("不可以打开文件%1:\n%2").arg(fileName).arg(file.errorString()));
return;
}
QTextStream in(&file);
QApplication::setOverrideCursor(Qt::WaitCursor);
textEdit->setPlainText(in.readAll());
QApplication::restoreOverrideCursor();
}
//封装的写文件,用于精简程序
void MainWindow::fileWrite(){
QFile file(fileName); if(!file.open(QFile::WriteOnly|QFile::Text)){
QMessageBox::warning(this,tr("多文档编辑器"),
tr("不可以写入文件%1:/n%2").arg(fileName).arg(file.errorString()));
return;
} QTextStream out(&file);
QApplication::setOverrideCursor(Qt::WaitCursor);
out<<textEdit->toPlainText();
QApplication::restoreOverrideCursor();
return;
}
//新建文件
void MainWindow::NewFile(){
MainWindow *newEdit = new MainWindow;
newEdit->show();
}
//打开文件
void MainWindow::OpenFile(){
fileName = QFileDialog::getOpenFileName(this,tr("打开文件"),"/","allFile(*.*)");
if(!fileName.isEmpty()){ if(textEdit->document()->isEmpty()){
fileRead();
}else{
MainWindow *newEdit = new MainWindow;
newEdit->show();
QFile file(fileName);
if(!file.open(QFile::ReadOnly|QFile::Text)){
QMessageBox::warning(this,tr("多文档编辑器"),
tr("不可以打开文件%1:\n%2").arg(fileName).arg(file.errorString()));
return;
}
QTextStream in(&file);
QApplication::setOverrideCursor(Qt::WaitCursor);
newEdit->textEdit->setPlainText(in.readAll());
QApplication::restoreOverrideCursor(); } }
}
//保存文件
void MainWindow::Save(){ if(fileName.isEmpty()){
fileName = QFileDialog::getSaveFileName(this,tr("另存为"),tr("未命名.txt"));
fileWrite();
}else{
fileWrite();
} }
//另存为
void MainWindow::SaveAs(){ fileName = QFileDialog::getSaveFileName(this,tr("另存为"),tr("未命名.txt"));
fileWrite();
} //字体设置
void MainWindow::FontComBox(QString fontComStr){
QTextCharFormat format;
format.setFontFamily(fontComStr);
mergeFormat(format);
}
void MainWindow::mergeFormat(QTextCharFormat format){
QTextCursor cursor = textEdit->textCursor();
if(!cursor.hasSelection())
cursor.select(QTextCursor::WordUnderCursor);
cursor.mergeCharFormat(format);
textEdit->mergeCurrentCharFormat(format); }
//字号设置
void MainWindow::FontSizeCom(QString fontSizeStr){
QTextCharFormat format;
format.setFontPointSize(fontSizeStr.toFloat());
textEdit->mergeCurrentCharFormat(format);
} //颜色设置
void MainWindow::Color(){
QColor color = QColorDialog::getColor(Qt::blue,this);
if(color.isValid()){
QTextCharFormat format;
format.setForeground(color);
textEdit->mergeCurrentCharFormat(format);
}
}
//粗体
void MainWindow::Bold(){
QTextCharFormat format;
format.setFontWeight(bold->isChecked()?QFont::Bold:QFont::Normal);
textEdit->mergeCurrentCharFormat(format);
}
//斜体
void MainWindow::Italic(){
QTextCharFormat format;
format.setFontItalic(italic->isChecked());
textEdit->mergeCurrentCharFormat(format); }
//下划线
void MainWindow::UnderLine(){ QTextCharFormat format;
format.setFontUnderline(underLine->isChecked());
textEdit->mergeCurrentCharFormat(format);
}
//对齐
void MainWindow::ALignment(QAction *act){
if(act == left){
textEdit->setAlignment(Qt::AlignLeft);
}else if(act == center){
textEdit->setAlignment(Qt::AlignCenter);
}else if(act == right){
textEdit->setAlignment(Qt::AlignRight);
}else if(act == justify){
textEdit->setAlignment(Qt::AlignJustify);
} } //插入图片
void MainWindow::InsertImage(){ QTextCursor cursor = textEdit->textCursor();
QTextImageFormat format;
QString image = QFileDialog::getOpenFileName(this,"insert image","/","png(*.png)");
format.setName(image);
cursor.insertImage(format); } //插入表格,用到输入对话框
void MainWindow::InsertTable(){
bool ok;
int a = QInputDialog::getInt(this,tr("插入表格"),tr("输入行数:"),,,,,&ok);
int b = QInputDialog::getInt(this,tr("插入表格"),tr("输入列数:"),,,,,&ok);
if(ok){ QTextCursor cursor = textEdit->textCursor(); QTextTableFormat format;
format.setCellSpacing();
format.setCellPadding(); cursor.insertTable(a,b,format); }
} //查找
void MainWindow::Find(){
QDialog *dialog = new QDialog(this);
dialog->setWindowTitle(tr("查找"));
lineEdit = new QLineEdit(dialog);
label = new QLabel(this);
btn = new QPushButton(dialog);
btn->setText(tr("下一个"));
connect(btn,SIGNAL(clicked()),this,SLOT(findNext())); layout = new QVBoxLayout();
layout->addWidget(lineEdit);
layout->addWidget(btn);
dialog->setLayout(layout);
dialog->resize(,);
dialog->show(); } void MainWindow::findNext(){ QString str = lineEdit->text(); bool isfind = textEdit->find(str,QTextDocument::FindBackward); if(isfind){
label->setText(tr("查找目标在,行号:%1 列号:%2!").arg(textEdit->textCursor().blockNumber()).arg(textEdit->textCursor().columnNumber()));
ui->statusBar->addPermanentWidget(label);
} }
//打印
void MainWindow::PrintText(){
QPrinter printer;
QPrintDialog printDialog(&printer,this);
if(printDialog.exec()){
QTextDocument *textDocument = textEdit->document();
textDocument->print(&printer);
}
} //帮助 void MainWindow::About(){
QMessageBox::about(this,tr("关于"),tr("这是一个文本编辑器")); } void MainWindow::AboutQt(){
QMessageBox::aboutQt(this,tr("Qt编辑器"));
} void MainWindow::showCurrentCharFormatChanged(const QTextCharFormat &form){ fontCom->setCurrentIndex(fontCom->findText(form.fontFamily()));
fontSizeCom->setCurrentIndex(fontSizeCom->findText(QString::number(form.fontPointSize())));
bold->setChecked(form.font().bold());
italic->setChecked(form.font().italic());
underLine->setChecked(form.font().underline());
} MainWindow::~MainWindow()
{
delete ui;
}

main.cpp:

#include <QApplication>
#include "mainwindow.h" int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show(); return a.exec();
}

C++ GUI Qt4编写的文本编辑器的更多相关文章

  1. Java编写的文本编辑器(菜鸟作品)

    //这是主窗体文件 Wordwin.java import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.sw ...

  2. Python GUI文本编辑器

    使用Python编写一个简单的文本编辑器,需要展示一个用户界面,功能包括打开.保存文本文件. 使用tkinter库来编写GUI. #简单GUI文本编辑器 from tkinter import * f ...

  3. 170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法

    今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式 ...

  4. 假期作业02:安装JDK与文本编辑器并编写第一个Java程序

    假期作业02:安装JDK与文本编辑器并编写第一个Java程序 一.安装JDK与文本编辑器并编写第一个java程序 首先在oracle官网(需要创建账号,进行登录后方可使用)按照自己的需求下载JDK(h ...

  5. JS编写自己的富文本编辑器

    富文本编辑器,网上有很多功能齐全种类丰富的如百度的Ueditor,简单适用型的如WangEditor等等.在经过一番挑选后,我发现都不适用现在的项目,然后决定自己造轮子玩玩.富文本编辑器中主要涉及到J ...

  6. tinymce 富文本编辑器 编写资料

    tinymce官方文档: 粘贴图片插件 博客搬运地址 使用Blob获取图片并二进制显示实例页面 tinymce自动调整插件 是时候掌握一个富文本编辑器了——TinyMCE(1) XMLHttpRequ ...

  7. Unix及类Unix系统文本编辑器的介绍

    概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Em ...

  8. 最优秀的5个Linux文本编辑器

    from: http://article.yeeyan.org/view/169956/174836 作为不久前举办的比赛的一部分内容,我从那些选出他们最喜欢的Linux文本编辑器的极客读者们那获得了 ...

  9. 如何评价 GitHub 发布的文本编辑器 Atom?

    这里是HN上的讨论:GitHub's new text editor leaked on Twitter这里是github page:Atom · GitHub 好多repo啊我不知道有没有知友了解更 ...

随机推荐

  1. 如何使用validate.js进行动态添加和移除表单验证信息

    表单是我们在开当中的常客,那么对表单的验证也是必须的,那么如何实现动态给表单添加验证规则呢? 方法: 1,动态添加验证规则 // 添加$("#addConnectUser").ru ...

  2. HTML5----CSS显示半个字符

    CSS显示半个字符的基本思路: 就是一个字写两遍,分别显示一半.这里就须要用到CSS伪元素:before和:after,记住这个"伪元素"的"伪"字,表明它本来 ...

  3. Linux内核之内存管理(4)--缺页处理程序

    本文主要解说缺页处理程序,凝视足够具体,不再解释. //以下函数将一页内存页面映射到指定线性地址处,它返回页面的物理地址 //把一物理内存页面映射到线性地址空间指定处或者说把线性地址空间指定地址add ...

  4. Jquery easyui treegrid实现树形表格的行拖拽

    前几天修改了系统的一个功能——实现树形列列表的行拖拽,以达到排序的目的.现在基本上功能实现,现做一个简单的总结. 1.拿到这个直接网上搜,有好多,但是看了后都觉得不是太复杂就是些不是特别想看的例子,自 ...

  5. Android开发实例之多点触控程序

    智能终端设备的多点触控操作为我们带来了种种炫酷体验,这也使得很多Android开发者都对多点触控程序的开发感兴趣.实际上多点触控程序的实现并不是那么遥不可及,而是比较容易.本文就主要通过一个实例具体讲 ...

  6. sizeof运算符

    sizeof运算符返回一条表达式或一个类型名字所占的字节数.sizeof运算符满足右结合律,其所得的值是一个size_t类型的常量表达式.运算符的运算对象有两种形式: sizeof(type) siz ...

  7. 关于c#中委托使用小结

    一.简述: 委托对与我们编程人员来说,一点都不陌生,在实际工作过程中,或多或少都应该是接触过 但是对与编程新手来说,对与委托的理解和使用应该还是一个坎,但是只要理解清楚了,这个坎也就过去了. 最近也经 ...

  8. Bleed Brake Master Cylinder with Intelligent Tester IT2

    When the brake fluid level drops too low in the master cylinder reservoir, air bubbles can get caugh ...

  9. 数据导入问题:[Err] [Imp] 1406 - Data too long for column 'linkman' at row 20 [Err] [Imp] INSERT INTO `excel_eprinfo`

    导入数据:提示错误 [Err] [Imp] 1406 - Data too long for column 'linkman' at row 20[Err] [Imp] INSERT INTO `ex ...

  10. 深入理解计算机系统第二版习题解答CSAPP 2.19

    在2.17的基础上完成下表: x 十六进制 T2U(x) -8 0x8 -3 0xD -2 0xE -1 0xF 0 0x0 5 0x5