LinkDialogProcessorGraphicsItem::LinkDialogProcessorGraphicsItem(Side side, Processor* processor) : GraphicsItemData<Processor>(nullptr, side, processor) { setZValue(linkdialog::processorDepth); setFlags(ItemSendsGeometryChanges); setRect(-linkdialog::processorWidth / 2, -linkdialog::processorHeight / 2, linkdialog::processorWidth, linkdialog::processorHeight); auto identifier = new LabelGraphicsItem(this); identifier->setPos(rect().topLeft() + QPointF(linkdialog::offset, linkdialog::offset)); identifier->setDefaultTextColor(Qt::white); auto idFont = QFont("Segoe", linkdialog::processorLabelHeight, QFont::Bold, false); idFont.setPixelSize(linkdialog::processorLabelHeight); identifier->setFont(idFont); identifier->setCrop(20, 19); auto classIdentifier = new LabelGraphicsItem(this); classIdentifier->setDefaultTextColor(Qt::lightGray); auto classFont = QFont("Segoe", linkdialog::processorLabelHeight, QFont::Normal, true); classFont.setPixelSize(linkdialog::processorLabelHeight); classIdentifier->setFont(classFont); classIdentifier->setCrop(20, 19); auto offset = classIdentifier->boundingRect().height(); classIdentifier->setPos(rect().bottomLeft() + QPointF(linkdialog::offset, -linkdialog::offset - offset)); identifier->setText(QString::fromStdString(processor->getIdentifier())); classIdentifier->setText(QString::fromStdString(processor->getClassIdentifier())); for (auto& property : processor->getProperties()) { auto item = new LinkDialogPropertyGraphicsItem(this, property); properties_.push_back(item); item->hide(); item->setParentItem(this); } LinkDialogTreeItem* prev = this; std::function<void(LinkDialogPropertyGraphicsItem*)> connect = [this, &connect, &prev]( LinkDialogPropertyGraphicsItem* item) { prev->setNext(item); item->setPrev(prev); prev = item; for (auto i : item->getSubPropertyItemList()) { connect(i); } }; for (auto item : properties_) connect(item); LinkDialogTreeItem* item = this; while (item) { item->updatePositions(); item = item->next(); } }
TnooFont::TnooFont(int pointSize) : QFont(QStringLiteral("nootka"), pointSize) { setPixelSize(pointSize); setBold(false); setWeight(50); // Normal }
RankingLabel::RankingLabel(int w,int h,int picLen,QString iconPath, QString title, QString type, QString price, QWidget *parent) { main_layout = new QHBoxLayout(); main_layout->setContentsMargins(0, 0, 0, 0); main_layout->setMargin(0); QPalette palette; palette.setBrush(QPalette::WindowText, QBrush(Qt::white)); //this->setPalette(palette); //this->setAutoFillBackground(true); m_icon = new QLabel(); m_title = new QLabel(); m_type = new QLabel(); m_price = new QLabel(); int min_len = w > h ? h : w; this->setMinimumSize(w, h); QPixmap pixmap(iconPath); QPixmap transformed_pxmap = pixmap.scaled(picLen, h , Qt::IgnoreAspectRatio,Qt::SmoothTransformation); m_icon->setPixmap(transformed_pxmap); auto font = ProfileInstance().AppFont; font.setPixelSize(20); setColor(QColor(24, 116, 205)); m_title->setText(title); m_title->setFont(font); m_title->setPalette(palette); //m_title->setGraphicsEffect(Profile::generateGlowEffect(QColor(255,255,255), 5)); m_type->setText(type); m_type->setFont(ProfileInstance().AppFont); m_type->setPalette(palette); m_price->setText(price); m_price->setFont(ProfileInstance().AppFont); m_price->setPalette(palette); main_layout->addWidget(m_icon); QVBoxLayout *mid_layout = new QVBoxLayout(); mid_layout->addWidget(m_title); mid_layout->addWidget(m_type); main_layout->addLayout(mid_layout); main_layout->addStretch(); main_layout->addWidget(m_price,0,Qt::AlignCenter); main_layout->addStretch(); setLayout(main_layout); m_MouseOver = false; m_MousePress = false; this->update(); }
void ImageViewport::paintEvent(QPaintEvent *){ QPainter painter(this); if (!this->pixmap() && !this->movie()){ painter.setBrush(QBrush(Qt::white)); auto font = painter.font(); font.setPixelSize(48); painter.setFont(font); QRect rect(0, 0, 800, 600); painter.fillRect(rect, Qt::black); painter.drawText(rect, "No image"); return; } painter.setRenderHint(or_flags(QPainter::SmoothPixmapTransform, QPainter::Antialiasing)); painter.setClipping(false); auto transform = this->get_final_transform(); auto src_quad = this->compute_quad(); auto offset = src_quad.move_to_origin(); transform = translate(transform, offset); painter.setMatrix(transform); if (this->pixmap()) painter.drawPixmap(QRect(QPoint(0, 0), this->image_size), *this->pixmap()); else painter.drawPixmap(QRect(QPoint(0, 0), this->image_size), this->movie()->currentPixmap()); }
LinkDialogProcessorGraphicsItem::LinkDialogProcessorGraphicsItem(Side side, Processor* processor) : GraphicsItemData<Processor>(side, processor), animateExpansion_(1.0) { setZValue(linkdialog::processorDepth); setFlags(ItemSendsGeometryChanges); setRect(-linkdialog::processorWidth / 2, -linkdialog::processorHeight / 2, linkdialog::processorWidth, linkdialog::processorHeight); auto identifier = new LabelGraphicsItem(this); identifier->setPos(rect().topLeft() + QPointF(linkdialog::offset, linkdialog::offset)); identifier->setDefaultTextColor(Qt::white); auto idFont = QFont("Segoe", linkdialog::processorLabelHeight, QFont::Bold, false); idFont.setPixelSize(linkdialog::processorLabelHeight); identifier->setFont(idFont); identifier->setCrop(20, 19); auto classIdentifier = new LabelGraphicsItem(this); classIdentifier->setDefaultTextColor(Qt::lightGray); auto classFont = QFont("Segoe", linkdialog::processorLabelHeight, QFont::Normal, true); classFont.setPixelSize(linkdialog::processorLabelHeight); classIdentifier->setFont(classFont); classIdentifier->setCrop(20, 19); auto offset = classIdentifier->boundingRect().height(); classIdentifier->setPos(rect().bottomLeft() + QPointF(linkdialog::offset, -linkdialog::offset - offset)); identifier->setText(QString::fromStdString(processor->getIdentifier())); classIdentifier->setText(QString::fromStdString(processor->getClassIdentifier())); QPointF newPos(0.0f, rect().height()); for (auto& property : processor->getProperties()) { auto item = new LinkDialogPropertyGraphicsItem(this, property); properties_.push_back(item); item->setParentItem(this); item->setPos(newPos); size_t count = 1 + item->getTotalVisibleChildCount(); newPos += QPointF(0, count * linkdialog::propertyHeight); item->show(); } }
FT_Error THFreeTypeFont::matchBitmapFont(THSpriteSheet* pBitmapFontSpriteSheet) { if(pBitmapFontSpriteSheet == nullptr) return FT_Err_Invalid_Argument; // Try to take the size and colour of a standard character (em is generally // the standard font character, but for fonts which only have numbers, zero // seems like the next best choice). for(const char* sCharToTry = "M0"; *sCharToTry; ++sCharToTry) { unsigned int iWidth, iHeight; unsigned int iSprite = *sCharToTry - 31; if(pBitmapFontSpriteSheet->getSpriteSize(iSprite, &iWidth, &iHeight) && pBitmapFontSpriteSheet->getSpriteAverageColour(iSprite, &m_oColour) && iWidth > 1 && iHeight > 1) { return setPixelSize(iWidth, iHeight); } } // Take the average size of all characters, and the colour of one of them. unsigned int iWidthSum = 0, iHeightSum = 0, iAverageNum = 0; for(unsigned int i = 0; i < pBitmapFontSpriteSheet->getSpriteCount(); ++i) { unsigned int iWidth, iHeight; pBitmapFontSpriteSheet->getSpriteSizeUnchecked(i, &iWidth, &iHeight); if(iWidth <= 1 || iHeight <= 1) continue; if(!pBitmapFontSpriteSheet->getSpriteAverageColour(i, &m_oColour)) continue; iWidthSum += iWidth; iHeightSum += iHeight; ++iAverageNum; } if(iAverageNum == 0) return FT_Err_Divide_By_Zero; return setPixelSize((iWidthSum + iAverageNum / 2) / iAverageNum, (iHeightSum + iAverageNum / 2) / iAverageNum); }
int PixelDelegate::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractItemDelegate::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: setPixelSize((*reinterpret_cast< int(*)>(_a[1]))); break; default: ; } _id -= 1; } return _id; }
//-------------------------------------------------------------------------------------------------- /// Set the size of the text box to fit the current text. /// /// The method will also add a bit of space for the border or background if enabled. //-------------------------------------------------------------------------------------------------- void OverlayTextBox::setSizeToFitText() { cvf::Vec2ui textSize = m_font->textExtent(m_text); // Add the size of an 'A' as the margin, same as used in the Text Drawer ref<Glyph> glyph = m_font->getGlyph(L'A'); Vec2ui size = Vec2ui(textSize.x() + glyph->width(), textSize.y() + glyph->height()); if (m_drawBorder) { size.x() += 4; size.y() += 4; } setPixelSize(size); }
void applyMacSmallSize(QWidget *widget) { // does not apply to QMenu objects if (qobject_cast<QMenu *>(widget)) return; #ifdef Q_OS_MAC widget->setAttribute(Qt::WA_MacSmallSize); #else auto font = widget->font(); font.setPixelSize(11); widget->setFont(font); #endif for (QObject *object : widget->children()) { QWidget *widget = qobject_cast<QWidget *>(object); if (widget) applyMacSmallSize(widget); } }
void QFFrameRangeEdit::setPixelSize(double width, double height) { setPixelSize(QSizeF(width, height)); }
void QFFrameRangeEdit::setPixelSize(double width_and_height) { setPixelSize(QSizeF(width_and_height, width_and_height)); }
CentralWidget::CentralWidget():thisData_(ThisDataType( new zone_data::CentralWidgetData, [](zone_data::CentralWidgetData *arg) {delete arg; })) { this->setOrientation(Qt::Horizontal); zone_this_data(this); var_this_data->listView=new ListView; this->addWidget(var_this_data->listView); var_this_data->novelWidget=new DingDianNovelWidget; this->addWidget(var_this_data->novelWidget); { auto varSizePolicy=var_this_data->listView->sizePolicy(); varSizePolicy.setHorizontalStretch(0); var_this_data->listView->setSizePolicy(varSizePolicy); } { auto varSizePolicy=var_this_data->novelWidget->sizePolicy(); varSizePolicy.setHorizontalStretch(1); var_this_data->novelWidget->setSizePolicy(varSizePolicy); } /*设置listview 样式*/ std::shared_ptr<std::function<QWidget*(QWidget*,QModelIndex)>> createFunction= std::shared_ptr<std::function<QWidget*(QWidget*,QModelIndex)>>( new std::function<QWidget*(QWidget*,QModelIndex)>{ [](QWidget* argParent,QModelIndex) ->QWidget * { ItemWidget * varAns=new ItemWidget(argParent); return varAns; }/*~lambda function*/ }); var_this_data->listView->setCreateFunction(createFunction); /*设置model*/ if (var_this_data->listView->model()) { var_this_data->listView->model()->deleteLater(); } var_this_data->listView->setModel(new DingDianModel); { auto varStyle=DingDianSytle::instance(); auto varNovelLayout=std::make_shared<NovelLayout>(); auto varFont=varNovelLayout->font(); varFont.setPixelSize(varStyle->fontPixSize()); varFont.setWeight(QFont::Medium); varNovelLayout->setFont(varFont); varNovelLayout->setDrawColor(varStyle->fontColor()); var_this_data->novelWidget->setNovelLayout(varNovelLayout); } connect( var_this_data->listView, &ListView::onCurrentChanged, this, [this]() { zone_this_data(this); this->onCurrentChanged(var_this_data->showLastPage); var_this_data->showLastPage=false; }); connect( var_this_data->novelWidget, &NovelWidget::nextPageEndl, this,[var_this_data]() { var_this_data->novelWidget->onKeyPressed(Qt::Key_Down); }); connect( var_this_data->novelWidget, &NovelWidget::previousPageEndl, this,[var_this_data]() { var_this_data->showLastPage=true; var_this_data->novelWidget->onKeyPressed(Qt::Key_Up); }); connect( var_this_data->novelWidget, &NovelWidget::onKeyPressed, this, [var_this_data](Qt::Key argKey) { if (argKey==Qt::Key_Up) { auto varListView=var_this_data->listView; auto *varModel=varListView->model(); auto varIndex=varModel->index( std::max(0,varListView->currentIndex().row()-1), 0); varListView->setCurrentIndex(varIndex); } else if (argKey==Qt::Key_Down) { auto varListView=var_this_data->listView; auto *varModel=varListView->model(); auto varIndex=varModel->index( std::min( std::max(0,varModel->rowCount()-1), 1+varListView->currentIndex().row()), 0); varListView->setCurrentIndex(varIndex); } }); }
void WidgetMain::initData() { //设置TreeWidget的font大小 { auto font = treeWidget->font(); font.setPixelSize(11); treeWidget->setFont(font); } pushButtonInfor->installEventFilter(this); pDustbin_ = new Label(this);//还可以用他的hover,通过eventfilter pDustbin_->hide(); pBackStart_ = new QLabel(this); pBackStart_->installEventFilter(this); QPixmap pix("./resource/images/bb/JumpToStart_idle.png"); pBackStart_->resize(pix.size()); pBackStart_->setPixmap(pix); { int y = widgetTitle->height()+widgetMenu->height()+10+255; pBackStart_->move(widgetLeft->width()+10, y); } //pBackStart_->setOpacity(0); pBackStart_->hide(); pSerialPortToolLabel_ = new FunctionAreaWidget(this); connect(pSerialPortToolLabel_, SIGNAL(signalClick()), this, SLOT(slotCreateSerialTool())); pSerialPortToolLabel_->addData(QPixmap("./resource/images/tool_area/TopToolBar_Serial.png"), "Serial"); pSerialPortToolLabel_->move(this->width()-200, 31); pSerialPortToolLabel_->show(); { QPixmap pix("./resource/images/tool_area/TopToolBar_del"); pDustbin_->resize(pix.size()); pDustbin_->setPixmap(pix); } labelLogo->installEventFilter(this); pDustbin_->installEventFilter(this); widgetLeft->installEventFilter(this); pAllBlockMenu_ = new QMenu(this); { // 啦拉拉在这里检测所有的模块 QString path = "./resource/Blocks"; QDir dir(path); dir.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot); foreach (const QString &dirName, dir.entryList()) { //ListWidgetItem QString dirPath = path + "/" +dirName; QTreeWidgetItem *pTreeItem = new QTreeWidgetItem(treeWidget, QStringList(dirName)); pTreeItem->setSizeHint(0, QSize(100,20)); pTreeItem->setData(0,Qt::UserRole+1,dirPath); map_treeWidgetItemPointer_pageIndex_.insert(pTreeItem, pageIndex_++); //menu QMenu *pMenu = pAllBlockMenu_->addMenu(dirName); scanBlocks(dirPath, pTreeItem, pMenu); } { //treeWidget->setCurrentIndex(treeWidget->indexAt(QPoint(5, 5))); } } { QPixmap pixNormal("./resource/images/common/Blocks_Begin.png"); QPixmap pixHover("./resource/images/common/Blocks_Begin_p.png"); QPixmap pixPressed("./resource/images/common/Blocks_Begin_o.png"); pixNormal.scaled(QSize(26, 26)); pixHover.scaled(QSize(26, 26)); QListWidgetItem *pItem = new QListWidgetItem(""); pItem->setSizeHint(QSize(38, 38));//26*26 BlockMenuWidget *pWidget = new BlockMenuWidget(pixNormal, pixHover, pixPressed); listWidgetMenu->addItem(pItem); listWidgetMenu->setItemWidget(pItem, pWidget); } { QPixmap pixNormal("./resource/images/common/Blocks_All.png"); QPixmap pixHover("./resource/images/common/Blocks_All_p.png"); QPixmap pixPressed("./resource/images/common/Blocks_All_o.png"); pixNormal.scaled(QSize(26, 26)); pixHover.scaled(QSize(26, 26)); QListWidgetItem *pItem = new QListWidgetItem(""); pItem->setSizeHint(QSize(38, 38)); BlockMenuWidget *pWidget = new BlockMenuWidget(pixNormal, pixHover, pixPressed); listWidgetMenu->addItem(pItem); listWidgetMenu->setItemWidget(pItem, pWidget); } connect(listWidgetMenu, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(slotCurrentItemChanged(QListWidgetItem*,QListWidgetItem*))); pEditScene_ = new EditScene(QRectF(0, 0, 840, 640), widgetShowScene); pEditScene_->setWidgetMain(this); pEditScene_->setComponentData(&hash_blockPath_blockData_); pEditScene_->addModuleTagData(map_moduleName_moduleTag_); widgetShowScene->setScenePointer(pEditScene_ ); // pEditScene_->setListWidgetModulePointer(listWidget); connect(pEditScene_, SIGNAL(signalViewOffset(QPoint)), this, SLOT(slotViewOffset(QPoint))); connect(pEditScene_, SIGNAL(signalShowSubWindows()), this, SLOT(slotShowSubWindows())); connect(pEditScene_, SIGNAL(signalFocusInLine(FlowLine*,QString,QString)), this, SLOT(slotFocusInLine(FlowLine*,QString,QString))); connect(pEditScene_, SIGNAL(signalFocusInGroup(QString)), this, SLOT(slotFocusInGroup(QString))); connect(this, SIGNAL(signalCreateGroup(QString)), pEditScene_, SLOT(slotCreateGroup(QString))); createListWidget(); pListWidget_ = static_cast<ListWidgetAdvanceBlock*>(stackedWidgetBlockType->currentWidget()); QTimer::singleShot(50, this, SLOT(slotOpenAutoUpdate())); }
bool RasterInfo::setPixelDescription( bool isSigned, int bitsCount, const QString &type, double pixelSize, double fillValue, double noDataValue ) { return setDataType( isSigned, bitsCount, type ) && setPixelSize( pixelSize ) && setFillValue( fillValue ) && setNoDataValue( noDataValue ); }
bool RasterInfo::setPixelDescription( const QString &dataType, double pixelSize, double fillValue, double noDataValue ) { return setDataType( dataType ) && setPixelSize( pixelSize ) && setFillValue( fillValue ) && setNoDataValue( noDataValue ); }