⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xform.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    path.cubicTo(QPointF(196.064, 414.712), QPointF(193.256, 418.168), QPointF(190.736, 417.088));    path.lineTo(186.2, 415.504);    path.cubicTo(QPointF(183.536, 413.272), QPointF(186.704, 410.104), QPointF(190.664, 412.048));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(268.568, 452.368);    path.cubicTo(QPointF(273.032, 454.384), QPointF(279.224, 457.192), QPointF(282.536, 460.144));    path.cubicTo(QPointF(285.488, 464.104), QPointF(286.784, 468.064), QPointF(286.424, 472.024));    path.cubicTo(QPointF(285.776, 474.544), QPointF(284.12, 476.344), QPointF(281.24, 477.424));    path.cubicTo(QPointF(277.856, 478.216), QPointF(273.68, 477.424), QPointF(271.376, 474.112));    path.cubicTo(QPointF(269.864, 471.448), QPointF(265.256, 462.16), QPointF(263.96, 460.576));    path.cubicTo(QPointF(262.232, 457.12), QPointF(261.944, 454.456), QPointF(262.88, 452.368));    path.cubicTo(QPointF(264.032, 451.288), QPointF(266.048, 451), QPointF(268.568, 452.368));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(255, 255, 255, 255));    path.moveTo(273.752, 461.584);    path.cubicTo(QPointF(275.48, 462.376), QPointF(277.928, 463.456), QPointF(279.224, 464.68));    path.cubicTo(QPointF(280.376, 466.264), QPointF(280.88, 467.776), QPointF(280.736, 469.36));    path.cubicTo(QPointF(280.52, 470.296), QPointF(279.8, 471.016), QPointF(278.72, 471.448));    path.cubicTo(QPointF(277.352, 471.808), QPointF(275.768, 471.448), QPointF(274.832, 470.152));    path.cubicTo(QPointF(274.256, 469.144), QPointF(272.456, 465.472), QPointF(271.952, 464.824));    path.cubicTo(QPointF(271.232, 463.456), QPointF(271.088, 462.448), QPointF(271.448, 461.584));    path.cubicTo(QPointF(271.952, 461.152), QPointF(272.744, 461.08), QPointF(273.752, 461.584));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(238.616, 358.552);    path.cubicTo(QPointF(239.048, 359.2), QPointF(238.976, 359.776), QPointF(238.4, 360.28));    path.cubicTo(QPointF(237.896, 360.784), QPointF(237.176, 360.712), QPointF(236.24, 360.208));    path.lineTo(231.632, 356.248);    path.cubicTo(QPointF(231.056, 355.744), QPointF(230.912, 354.952), QPointF(231.272, 354.088));    path.cubicTo(QPointF(232.28, 353.44), QPointF(233.144, 353.44), QPointF(233.936, 354.088));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(235.592, 305.992);    path.cubicTo(QPointF(239.624, 308.224), QPointF(240.848, 313.912), QPointF(238.184, 318.592));    path.cubicTo(QPointF(235.592, 323.2), QPointF(230.12, 325.144), QPointF(226.016, 322.84));    path.cubicTo(QPointF(221.984, 320.536), QPointF(220.76, 314.92), QPointF(223.424, 310.24));    path.cubicTo(QPointF(226.016, 305.56), QPointF(231.488, 303.688), QPointF(235.592, 305.992));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(374.912, 680.536);    path.cubicTo(QPointF(378.296, 683.128), QPointF(373.256, 687.376), QPointF(371.024, 686.296));    path.cubicTo(QPointF(369.152, 685.648), QPointF(367.784, 683.488), QPointF(366.92, 682.408));    path.cubicTo(QPointF(366.128, 681.184), QPointF(366.2, 679.168), QPointF(366.92, 678.448));    path.cubicTo(QPointF(367.712, 677.44), QPointF(369.728, 677.656), QPointF(371.024, 678.52));    path.cubicTo(QPointF(372.32, 679.168), QPointF(373.616, 679.888), QPointF(374.912, 680.536));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(297.44, 551.512);    path.cubicTo(QPointF(338.984, 572.896), QPointF(350, 611.56), QPointF(332.072, 664.192));    path.cubicTo(QPointF(330.992, 666.64), QPointF(334.16, 668.368), QPointF(335.24, 666.064));    path.cubicTo(QPointF(354.824, 610.336), QPointF(341.432, 571.312), QPointF(299.024, 548.56));    path.cubicTo(QPointF(296.864, 547.552), QPointF(295.28, 550.432), QPointF(297.44, 551.512));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(72.008, 569.512);    path.cubicTo(QPointF(38.312, 627.256), QPointF(38.096, 662.68), QPointF(62.504, 681.328));    path.cubicTo(QPointF(63.728, 682.264), QPointF(64.448, 680.032), QPointF(63.296, 679.168));    path.cubicTo(QPointF(36.296, 655.48), QPointF(48.896, 615.52), QPointF(74.168, 570.88));    path.cubicTo(QPointF(74.888, 569.584), QPointF(72.512, 568.432), QPointF(72.008, 569.512));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(289.376, 586.864);    path.cubicTo(QPointF(289.232, 589.168), QPointF(288.368, 589.528), QPointF(286.424, 587.368));    path.cubicTo(QPointF(279.8, 575.848), QPointF(235.088, 551.44), QPointF(213.344, 548.704));    path.cubicTo(QPointF(209.24, 547.264), QPointF(209.456, 545.392), QPointF(213.488, 544.816));    path.cubicTo(QPointF(229.184, 544.816), QPointF(241.28, 537.904), QPointF(254.96, 537.904));    path.cubicTo(QPointF(258.704, 538.048), QPointF(262.304, 539.488), QPointF(264.392, 541.648));    path.cubicTo(QPointF(269.504, 544.96), QPointF(288.08, 570.592), QPointF(289.376, 586.864));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(180.152, 546.832);    path.cubicTo(QPointF(180.872, 550.792), QPointF(163.808, 545.68), QPointF(164.744, 556.696));    path.cubicTo(QPointF(165.032, 559.72), QPointF(160.496, 561.376), QPointF(160.64, 556.696));    path.cubicTo(QPointF(160.64, 548.272), QPointF(161.072, 548.416), QPointF(152.72, 546.832));    path.cubicTo(QPointF(151.208, 546.76), QPointF(151.352, 544.528), QPointF(152.72, 544.816));    path.lineTo(152.72, 544.816);    path.cubicTo(QPointF(158.696, 546.472), QPointF(166.76, 542.872), QPointF(166.4, 538.84));    path.cubicTo(QPointF(166.256, 537.472), QPointF(168.56, 537.688), QPointF(168.488, 538.84));    path.cubicTo(QPointF(167.984, 545.248), QPointF(181.664, 542.152), QPointF(180.152, 546.832));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(193, 193, 191, 255));    path.moveTo(151.568, 705.376);    path.cubicTo(QPointF(151.64, 708.328), QPointF(148.76, 707.68), QPointF(148.544, 705.592));    path.cubicTo(QPointF(140.192, 680.536), QPointF(143.72, 618.832), QPointF(151.856, 598.96));    path.cubicTo(QPointF(152.432, 596.08), QPointF(156.248, 596.944), QPointF(155.744, 598.96));    path.cubicTo(QPointF(147.104, 635.464), QPointF(147.248, 673.048), QPointF(151.568, 705.376));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(183, 114, 0, 255));    path.moveTo(51.704, 684.424);    path.cubicTo(QPointF(75.68, 707.824), QPointF(91.376, 743.248), QPointF(114.632, 775.288));    path.cubicTo(QPointF(148.472, 816.04), QPointF(121.472, 858.304), QPointF(66.464, 845.56));    path.cubicTo(QPointF(38.888, 835.192), QPointF(-0.784, 836.344), QPointF(-32.68, 825.832));    path.cubicTo(QPointF(-55.072, 820.36), QPointF(-55.864, 809.272), QPointF(-44.416, 787.6));    path.cubicTo(QPointF(-40.384, 773.776), QPointF(-40.024, 751.312), QPointF(-43.768, 732.592));    path.cubicTo(QPointF(-45.784, 718.408), QPointF(-39.232, 710.488), QPointF(-24.112, 708.832));    path.lineTo(-24.112, 708.832);    path.cubicTo(QPointF(-11.296, 708.688), QPointF(6.56, 713.872), QPointF(16.28, 686.44));    path.cubicTo(QPointF(23.552, 673.336), QPointF(40.976, 672.976), QPointF(51.704, 684.424));    path.closeSubpath();    painter->drawPath(path);    path = QPainterPath();    painter->setBrush(QColor(242, 183, 0, 255));    path.moveTo(24.632, 699.04);    path.cubicTo(QPointF(23.84, 680.968), QPointF(39.32, 677.296), QPointF(49.688, 688.312));    path.cubicTo(QPointF(68.192, 710.992), QPointF(85.112, 736.048), QPointF(100.376, 764.992));    path.cubicTo(QPointF(124.712, 804.16), QPointF(104.624, 842.68), QPointF(67.904, 828.064));    path.cubicTo(QPointF(49.688, 817.84), QPointF(6.128, 813.304), QPointF(-17.344, 809.128));    path.cubicTo(QPointF(-33.04, 807.832), QPointF(-35.128, 797.608), QPointF(-29.152, 791.848));    path.cubicTo(QPointF(-20.944, 782.416), QPointF(-20.08, 759.808), QPointF(-27.856, 740.512));    path.cubicTo(QPointF(-35.56, 728.56), QPointF(-21.088, 715.384), QPointF(-9.712, 720.856));    path.cubicTo(QPointF(0.8, 727.048), QPointF(25.64, 713.08), QPointF(24.632, 699.04));    path.closeSubpath();    painter->drawPath(path);    painter->setPen(QPen(QColor(255, 0, 0, alpha), 0.25, Qt::SolidLine, Qt::FlatCap, Qt::BevelJoin));    painter->setBrush(Qt::NoBrush);    painter->drawRect(br.adjusted(-1, -1, 1, 1));}XFormWidget::XFormWidget(QWidget *parent)    : QWidget(parent){    setWindowTitle("Affine Transformations");    view = new XFormView(this);    view->setMinimumSize(200, 200);    QGroupBox *mainGroup = new QGroupBox(this);    mainGroup->setFixedWidth(180);    mainGroup->setTitle("Affine Transformations");    QGroupBox *rotateGroup = new QGroupBox(mainGroup);    rotateGroup->setAttribute(Qt::WA_ContentsPropagated);    rotateGroup->setTitle("Rotate");    QSlider *rotateSlider = new QSlider(Qt::Horizontal, rotateGroup);    rotateSlider->setRange(0, 3600);    rotateSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);    QGroupBox *scaleGroup = new QGroupBox(mainGroup);    scaleGroup->setAttribute(Qt::WA_ContentsPropagated);    scaleGroup->setTitle("Scale");    QSlider *scaleSlider = new QSlider(Qt::Horizontal, scaleGroup);    scaleSlider->setRange(1, 4000);    scaleSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);    QGroupBox *shearGroup = new QGroupBox(mainGroup);    shearGroup->setAttribute(Qt::WA_ContentsPropagated);    shearGroup->setTitle("Shear");    QSlider *shearSlider = new QSlider(Qt::Horizontal, shearGroup);    shearSlider->setRange(-990, 990);    shearSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);    QGroupBox *typeGroup = new QGroupBox(mainGroup);    typeGroup->setAttribute(Qt::WA_ContentsPropagated);    typeGroup->setTitle("Type");    QRadioButton *vectorType = new QRadioButton(typeGroup);    QRadioButton *pixmapType = new QRadioButton(typeGroup);    QRadioButton *textType= new QRadioButton(typeGroup);    vectorType->setText("Vector Image");    pixmapType->setText("Pixmap");    textType->setText("Text");    view->textEditor = new QLineEdit(typeGroup);    QPushButton *resetButton = new QPushButton(mainGroup);    resetButton->setText("Reset Transform");    QPushButton *animateButton = new QPushButton(mainGroup);    animateButton->setText("Animate");    animateButton->setCheckable(true);    QPushButton *showSourceButton = new QPushButton(mainGroup);    showSourceButton->setText("Show Source");#ifdef QT_OPENGL_SUPPORT    QPushButton *enableOpenGLButton = new QPushButton(mainGroup);    enableOpenGLButton->setText("Use OpenGL");    enableOpenGLButton->setCheckable(true);    enableOpenGLButton->setChecked(view->usesOpenGL());    if (!QGLFormat::hasOpenGL())        enableOpenGLButton->hide();#endif    QPushButton *whatsThisButton = new QPushButton(mainGroup);    whatsThisButton->setText("What's This?");    whatsThisButton->setCheckable(true);    QHBoxLayout *viewLayout = new QHBoxLayout(this);    viewLayout->addWidget(view);    viewLayout->addWidget(mainGroup);    QVBoxLayout *rotateGroupLayout = new QVBoxLayout(rotateGroup);    rotateGroupLayout->addWidget(rotateSlider);    QVBoxLayout *scaleGroupLayout = new QVBoxLayout(scaleGroup);    scaleGroupLayout->addWidget(scaleSlider);    QVBoxLayout *shearGroupLayout = new QVBoxLayout(shearGroup);    shearGroupLayout->addWidget(shearSlider);    QVBoxLayout *typeGroupLayout = new QVBoxLayout(typeGroup);    typeGroupLayout->addWidget(vectorType);    typeGroupLayout->addWidget(pixmapType);    typeGroupLayout->addWidget(textType);    typeGroupLayout->addSpacing(4);    typeGroupLayout->addWidget(view->textEditor);    QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup);    mainGroupLayout->addWidget(rotateGroup);    mainGroupLayout->addWidget(scaleGroup);    mainGroupLayout->addWidget(shearGroup);    mainGroupLayout->addWidget(typeGroup);    mainGroupLayout->addStretch(1);    mainGroupLayout->addWidget(resetButton);    mainGroupLayout->addWidget(animateButton);    mainGroupLayout->addWidget(showSourceButton);#ifdef QT_OPENGL_SUPPORT    mainGroupLayout->addWidget(enableOpenGLButton);#endif    mainGroupLayout->addWidget(whatsThisButton);    connect(rotateSlider, SIGNAL(valueChanged(int)), view, SLOT(changeRotation(int)));    connect(shearSlider, SIGNAL(valueChanged(int)), view, SLOT(changeShear(int)));    connect(scaleSlider, SIGNAL(valueChanged(int)), view, SLOT(changeScale(int)));    connect(vectorType, SIGNAL(clicked()), view, SLOT(setVectorType()));    connect(pixmapType, SIGNAL(clicked()), view, SLOT(setPixmapType()));    connect(textType, SIGNAL(clicked()), view, SLOT(setTextType()));    connect(textType, SIGNAL(toggled(bool)), view->textEditor, SLOT(setEnabled(bool)));    connect(view->textEditor, SIGNAL(textChanged(const QString &)), view, SLOT(update()));    connect(view, SIGNAL(rotationChanged(int)), rotateSlider, SLOT(setValue(int)));    connect(view, SIGNAL(scaleChanged(int)), scaleSlider, SLOT(setValue(int)));    connect(view, SIGNAL(shearChanged(int)), shearSlider, SLOT(setValue(int)));    connect(resetButton, SIGNAL(clicked()), view, SLOT(reset()));    connect(animateButton, SIGNAL(clicked(bool)), view, SLOT(setAnimation(bool)));    connect(whatsThisButton, SIGNAL(clicked(bool)), view, SLOT(setDescriptionEnabled(bool)));    connect(whatsThisButton, SIGNAL(clicked(bool)), view->hoverPoints(), SLOT(setDisabled(bool)));    connect(view, SIGNAL(descriptionEnabledChanged(bool)), view->hoverPoints(), SLOT(setDisabled(bool)));    connect(view, SIGNAL(descriptionEnabledChanged(bool)), whatsThisButton, SLOT(setChecked(bool)));    connect(showSourceButton, SIGNAL(clicked()), view, SLOT(showSource()));#ifdef QT_OPENGL_SUPPORT    connect(enableOpenGLButton, SIGNAL(clicked(bool)), view, SLOT(enableOpenGL(bool)));#endif    view->loadSourceFile(":res/xform.cpp");    view->loadDescription(":res/xform.html");    // defaults    view->reset();    vectorType->setChecked(true);    view->textEditor->setText("Trolltech");    view->textEditor->setEnabled(false);    animateButton->animateClick();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -