Qt4系列之開發(fā)文本編輯器

      網(wǎng)友投稿 739 2025-03-31

      mainwindow.h:


      #ifndef MAINWINDOW_H

      #define MAINWINDOW_H

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      #include

      namespace Ui {

      class MainWindow;

      }

      class MainWindow : public QMainWindow

      {

      Q_OBJECT

      public:

      explicit MainWindow(QWidget *parent = 0);

      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;//恢復(fù)

      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);

      };

      #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();//創(chuàng)建動(dòng)作

      createMenu();//創(chuàng)建菜單

      createToolBar();//創(chuàng)建工具欄

      //文件菜單的動(dòng)作與槽的連接

      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()));

      //編輯菜單的動(dòng)作與槽的連接

      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()));

      //字體設(shè)置動(dòng)作與槽的連接

      connect(fontCom,SIGNAL(activated(QString)),this,

      SLOT(FontComBox(QString)));

      //字號(hào)設(shè)置動(dòng)作與槽的連接

      connect(fontSizeCom,SIGNAL(activated(QString)),this,SLOT(FontSizeCom(QString)));

      connect(textEdit,SIGNAL(currentCharFormatChanged(QTextCharFormat&)),

      this,SLOT(showCurrentCharFormatChanged(QTextCharFormat&)));

      //顏色編輯動(dòng)作與槽的連接

      connect(color,SIGNAL(triggered()),this,SLOT(Color()));

      //格式菜單動(dòng)作與槽的連接

      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 *)));

      //插入菜單動(dòng)作與槽的連接

      connect(insertImg,SIGNAL(triggered()),this,SLOT(InsertImage()));

      connect(insertTable,SIGNAL(triggered()),this,SLOT(InsertTable()));

      //打印動(dòng)作與槽的連接

      connect(printText,SIGNAL(triggered()),this,SLOT(PrintText()));

      //查找菜單動(dòng)作與槽的連接

      connect(find,SIGNAL(triggered()),this,SLOT(Find()));

      connect(about,SIGNAL(triggered()),this,SLOT(About()));

      connect(aboutQt,SIGNAL(triggered()),this,SLOT(AboutQt()));

      resize(1000,600);

      }

      //創(chuàng)建動(dòng)作

      void MainWindow::createAction(){

      QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

      //新建文件

      newFile = new QAction(QIcon(":/images/new.png"),tr("新建文件"),this);

      newFile->setShortcut(tr("Ctrl+N"));

      newFile->setStatusTip(tr("新建一個(gè)文件"));

      //打開文件

      openFile = new QAction(QIcon(":/images/open.png"),tr("打開文件"),this);

      openFile->setShortcut(tr("Ctrl+O"));

      openFile->setStatusTip(tr("打開一個(gè)文件"));

      //保存文件

      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("退出"));

      //恢復(fù)

      redoAction = new QAction(QIcon(":/images/redo.png"),tr("恢復(fù)"),this);

      redoAction->setShortcut(tr("Ctrl+R"));

      redoAction->setStatusTip(tr("恢復(fù)"));

      //撤銷

      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("剪切"));

      //復(fù)制

      copy = new QAction(QIcon(":/images/copy.png"),tr("復(fù)制"),this);

      copy->setShortcut(tr("Ctrl+C"));

      copy->setStatusTip(tr("復(fù)制"));

      //粘貼

      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);

      //左對(duì)齊

      left = new QAction(QIcon(":/images/left.png"),tr("左對(duì)齊"),group);

      left->setStatusTip(tr("左對(duì)齊"));

      left->setCheckable(true);

      //居中

      center = new QAction(QIcon(":/images/center.png"),tr("居中對(duì)齊"),group);

      center->setStatusTip(tr("居中對(duì)齊"));

      center->setCheckable(true);

      //右對(duì)齊

      right = new QAction(QIcon(":/images/right.png"),tr("右對(duì)齊"),group);

      right->setStatusTip(tr("右對(duì)齊"));

      right->setCheckable(true);

      //兩端對(duì)齊

      justify = new QAction(QIcon(":/images/justify.png"),tr("兩端對(duì)齊"),group);

      justify->setStatusTip(tr("兩端對(duì)齊"));

      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("查找"));

      //關(guān)于

      about = new QAction(QIcon(":/images/about.png"),tr("關(guān)于"),this);

      about->setStatusTip(tr("關(guān)于"));

      //字體

      fontLabel = new QLabel(tr("字體"));

      fontCom = new QFontComboBox();

      fontCom->setFontFilters(QFontComboBox::ScalableFonts);

      fontCom->setStatusTip(tr("字體設(shè)置"));

      //字號(hào)

      fontSizeLabel = new QLabel(tr("字號(hào)"));

      QFontDatabase db;

      fontSizeCom = new QComboBox();

      foreach(int size,db.standardSizes())

      fontSizeCom->addItem(QString::number(size));

      fontSizeCom->setStatusTip(tr("字號(hào)設(shè)置"));

      //關(guān)于

      aboutQt = new QAction(tr("關(guān)于QT"),this);

      aboutQt->setStatusTip(tr("關(guān)于Qt"));

      Qt4系列之開發(fā)文本編輯器

      }

      //創(chuàng)建菜單

      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);

      }

      //創(chuàng)建工具欄

      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<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();

      }

      //字體設(shè)置

      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);

      }

      //字號(hào)設(shè)置

      void MainWindow::FontSizeCom(QString fontSizeStr){

      QTextCharFormat format;

      format.setFontPointSize(fontSizeStr.toFloat());

      textEdit->mergeCurrentCharFormat(format);

      }

      //顏色設(shè)置

      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);

      }

      //對(duì)齊

      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);

      }

      //插入表格,用到輸入對(duì)話框

      void MainWindow::InsertTable(){

      bool ok;

      int a = QInputDialog::getInt(this,tr("插入表格"),tr("輸入行數(shù):"),0,0,300,1,&ok);

      int b = QInputDialog::getInt(this,tr("插入表格"),tr("輸入列數(shù):"),0,0,300,1,&ok);

      if(ok){

      QTextCursor cursor = textEdit->textCursor();

      QTextTableFormat format;

      format.setCellSpacing(0);

      format.setCellPadding(30);

      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("下一個(gè)"));

      connect(btn,SIGNAL(clicked()),this,SLOT(findNext()));

      layout = new QVBoxLayout();

      layout->addWidget(lineEdit);

      layout->addWidget(btn);

      dialog->setLayout(layout);

      dialog->resize(60,60);

      dialog->show();

      }

      void MainWindow::findNext(){

      QString str = lineEdit->text();

      bool isfind = textEdit->find(str,QTextDocument::FindBackward);

      if(isfind){

      label->setText(tr("查找目標(biāo)在,行號(hào):%1 列號(hào):%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("關(guān)于"),tr("這是一個(gè)文本編輯器"));

      }

      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

      #include "mainwindow.h"

      int main(int argc, char *argv[])

      {

      QApplication a(argc, argv);

      MainWindow w;

      w.show();

      return a.exec();

      }

      ?

      Qt

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:怎么在WPS表格中使用合并計(jì)算功能(wps合并計(jì)算如何操作)
      下一篇:11.11上云嘉年華,華為云數(shù)據(jù)庫助力客戶備戰(zhàn)業(yè)務(wù)高峰
      相關(guān)文章
      亚洲va久久久噜噜噜久久男同| 久久久无码精品亚洲日韩软件| 亚洲人成人网站色www| 国产精品亚洲一区二区三区久久 | 亚洲AⅤ优女AV综合久久久| 久久久久se色偷偷亚洲精品av | 亚洲色无码专区在线观看| 亚洲毛片av日韩av无码| 亚洲成人高清在线| 亚洲麻豆精品国偷自产在线91| 亚洲日韩中文字幕日韩在线| 西西人体44rt高清亚洲| 亚洲成a人片在线观看日本| 久久久久久亚洲av成人无码国产| 亚洲国产精品成人久久| 亚洲AV无码国产丝袜在线观看 | 亚洲国产激情在线一区| 国产成人精品亚洲日本在线| 国产婷婷综合丁香亚洲欧洲| 亚洲人成77777在线观看网| 亚洲综合激情五月丁香六月| 亚洲熟妇自偷自拍另欧美| 亚洲精品无码av中文字幕| 亚洲AV色欲色欲WWW| jizzjizz亚洲| 亚洲人成小说网站色| 国产成人精品日本亚洲11| 亚洲乱理伦片在线观看中字| 亚洲AV无码精品国产成人| 一本色道久久88综合亚洲精品高清| 亚洲成A人片在线观看中文 | 亚洲狠狠爱综合影院婷婷| 久久精品国产精品亚洲下载| 亚洲精品无码AV人在线播放| 久久久久久a亚洲欧洲AV| 亚洲视频网站在线观看| 色偷偷亚洲女人天堂观看欧| 亚洲av日韩av永久无码电影| 亚洲区不卡顿区在线观看| 亚洲免费观看视频| 亚洲综合激情九月婷婷|