本文整理汇总了C++中QStyle::objectName方法的典型用法代码示例。如果您正苦于以下问题:C++ QStyle::objectName方法的具体用法?C++ QStyle::objectName怎么用?C++ QStyle::objectName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QStyle
的用法示例。
在下文中一共展示了QStyle::objectName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
// Qt initialisation
QApplication a(argc, argv);
#ifdef Q_OS_LINUX
setup_unix_signal_handlers();
#endif
QStringList pathlist = QCoreApplication::libraryPaths();
qDebug() << pathlist;
#if QT_VERSION >= 0x050000
// Fixing the qt5 plugin mess
pathlist << ".";
QCoreApplication::setLibraryPaths(pathlist);
#endif
// Creating the QT log file
QDir homeDir = QDir::home();
if (!homeDir.cd(Pip3lineConst::USER_DIRECTORY)) {
if (!homeDir.mkpath(Pip3lineConst::USER_DIRECTORY)) {
qWarning("Cannot create user directory for log file");
}
}
homeDir = QDir::home();
if (homeDir.cd(Pip3lineConst::USER_DIRECTORY)) {
QByteArray logdir = homeDir.absolutePath().append(QDir::separator()).append("pip3line_gui.log").toLocal8Bit();
#ifdef Q_CC_MSVC
#define BUFFERSIZE 200
char buffer[BUFFERSIZE];
memset((void *)buffer, 0, BUFFERSIZE);
errno_t err = fopen_s (&_logFile, logdir.constData(),"w");
if ( err != 0) {
strerror_s(buffer, BUFFERSIZE, err);
qWarning( buffer );
#else
_logFile = fopen (logdir.constData(),"w");
if (_logFile == NULL) {
qWarning("Cannot open log file for writing");
#endif
} else {
#if QT_VERSION >= 0x050000
qInstallMessageHandler(myMessageOutput);
#else
qInstallMsgHandler(myMessageOutput);
#endif
}
}
#if QT_VERSION >= 0x050000
// forcing style for Qt5. can be overwritten at runtime
// with the option -style [style name]
// An indicative list of available themes is given in the Help->info dialog
QStringList stylelist = QStyleFactory::keys();
if (stylelist.contains("Fusion"))
QApplication::setStyle("Fusion");
#ifdef Q_OS_WIN
else if (stylelist.contains("WindowsVista"))
QApplication::setStyle("WindowsVista");
else if (stylelist.contains("WindowsXP"))
QApplication::setStyle("WindowsXP");
#endif
#endif
a.setStyleSheet("QWidget{ selection-background-color: blue}");
qDebug() << "App started";
QStyle *currentStyle = QApplication::style();
qDebug() << "Style" << currentStyle << currentStyle->objectName();
// Cleaning the PATH on Windows to avoid library corruption whenever loading plugins
qputenv("PATH", QByteArray());
#ifdef Q_OS_UNIX
qputenv("LD_PRELOAD", QByteArray());
#endif
QStringList list = QApplication::arguments();
bool debugging = false;
if (list.contains(DEBUG_CMD)) {
debugging = true;
list.removeAll(DEBUG_CMD);
}
QString fileName;
if (list.contains(FILE_CMD)) {
int index = list.indexOf(FILE_CMD);
if (list.size() > index + 1) {
fileName = list.at(index + 1);
list.removeAt(index);
list.removeAt(index);
} else {
//.........这里部分代码省略.........
示例2: if
//.........这里部分代码省略.........
m_ui->cbShowBookName->setEnabled( b );
m_ui->cbStartupAction->setCurrentIndex( m_props->getIntDef( PROP_APP_START_ACTION, 0 ) );
int lp = m_props->getIntDef( PROP_LANDSCAPE_PAGES, 2 );
int vm = m_props->getIntDef( PROP_PAGE_VIEW_MODE, 1 );
if ( vm==0 )
m_ui->cbViewMode->setCurrentIndex( 2 );
else
m_ui->cbViewMode->setCurrentIndex( lp==1 ? 0 : 1 );
int hinting = m_props->getIntDef(PROP_FONT_HINTING, 2);
m_ui->cbFontHinting->setCurrentIndex(hinting);
int highlight = m_props->getIntDef(PROP_HIGHLIGHT_COMMENT_BOOKMARKS, 1);
m_ui->cbBookmarkHighlightMode->setCurrentIndex(highlight);
int n = m_props->getIntDef( PROP_PAGE_MARGIN_LEFT, 8 );
int mi = 0;
for (int i=0; i < (int)MAX_MARGIN_INDEX; i++) {
if (n <= def_margins[i]) {
mi = i;
break;
}
}
CRLog::debug("initial margins index: %d", mi);
m_ui->cbMargins->setCurrentIndex( mi );
QStringList styles = QStyleFactory::keys();
QString style = m_props->getStringDef( PROP_WINDOW_STYLE, "" );
m_ui->cbLookAndFeel->addItems( styles );
QStyle * s = QApplication::style();
QString currStyle = s->objectName();
CRLog::debug("Current system style is %s", currStyle.toUtf8().data() );
if ( !styles.contains(style, Qt::CaseInsensitive) )
style = currStyle;
int index = styles.indexOf( style, Qt::CaseInsensitive );
if ( index >=0 )
m_ui->cbLookAndFeel->setCurrentIndex( index );
crGetFontFaceList( m_faceList );
m_ui->cbTextFontFace->addItems( m_faceList );
m_ui->cbTitleFontFace->addItems( m_faceList );
m_ui->cbFallbackFontFace->addItems( m_faceList );
QStringList sizeList;
LVArray<int> sizes( cr_font_sizes, sizeof(cr_font_sizes)/sizeof(int) );
for ( int i=0; i<sizes.length(); i++ )
sizeList.append( QString("%1").arg(sizes[i]) );
m_ui->cbTextFontSize->addItems( sizeList );
m_ui->cbTitleFontSize->addItems( sizeList );
const char * defFontFace = "DejaVu Sans";
static const char * goodFonts[] = {
"DejaVu Sans",
"FreeSans",
"Liberation Sans",
"Arial",
NULL
};
for ( int i=0; goodFonts[i]; i++ ) {
if ( m_faceList.indexOf(QString(goodFonts[i]))>=0 ) {
defFontFace = goodFonts[i];
break;
}
}
示例3: paint
void SearchItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QStyleOptionViewItem opt(option);
QStyle *style = opt.widget->style();
// Find decoration roles with data present.
QList<int> roles;
for (int role : m_decorationRoles) {
if (!index.data(role).isNull())
roles.append(role);
}
/// TODO: Implemented via initStyleOption() overload
if (!roles.isEmpty()) {
opt.features |= QStyleOptionViewItem::HasDecoration;
opt.icon = index.data(roles.first()).value<QIcon>();
const QSize actualSize = opt.icon.actualSize(opt.decorationSize);
opt.decorationSize = {std::min(opt.decorationSize.width(), actualSize.width()),
std::min(opt.decorationSize.height(), actualSize.height())};
}
style->drawControl(QStyle::CE_ItemViewItem, &opt, painter, opt.widget);
const int margin = style->pixelMetric(QStyle::PM_FocusFrameHMargin, &opt, opt.widget) + 1;
if (!roles.isEmpty()) {
QIcon::Mode mode = QIcon::Normal;
if (!(opt.state & QStyle::State_Enabled))
mode = QIcon::Disabled;
else if (opt.state & QStyle::State_Selected)
mode = QIcon::Selected;
const QIcon::State state = opt.state & QStyle::State_Open ? QIcon::On : QIcon::Off;
// All icons are sized after the first one.
QRect iconRect = style->subElementRect(QStyle::SE_ItemViewItemDecoration, &opt, opt.widget);
const int dx = iconRect.width() + margin;
for (int i = 1; i < roles.size(); ++i) {
opt.decorationSize.rwidth() += dx;
iconRect.translate(dx, 0);
const QIcon icon = index.data(roles[i]).value<QIcon>();
icon.paint(painter, iconRect, opt.decorationAlignment, mode, state);
}
}
// Match QCommonStyle behaviour.
const QString text = index.data().toString();
const QRect textRect = style->subElementRect(QStyle::SE_ItemViewItemText, &opt, opt.widget)
.adjusted(margin, 0, -margin, 0);
const QFontMetrics &fm = opt.fontMetrics;
const QString elidedText = fm.elidedText(text, opt.textElideMode, textRect.width());
if (!m_highlight.isEmpty()) {
painter->save();
painter->setRenderHint(QPainter::Antialiasing);
painter->setPen(QColor::fromRgb(255, 253, 0));
const QColor highlightColor = opt.state & (QStyle::State_Selected | QStyle::State_HasFocus)
? QColor::fromRgb(255, 255, 100, 20) : QColor::fromRgb(255, 255, 100, 120);
for (int i = 0;;) {
const int matchIndex = text.indexOf(m_highlight, i, Qt::CaseInsensitive);
if (matchIndex == -1 || matchIndex >= elidedText.length() - 1)
break;
QRect highlightRect
= textRect.adjusted(fm.width(elidedText.left(matchIndex)), 2, 0, -2);
highlightRect.setWidth(fm.width(elidedText.mid(matchIndex, m_highlight.length())));
QPainterPath path;
path.addRoundedRect(highlightRect, 2, 2);
painter->fillPath(path, highlightColor);
painter->drawPath(path);
i = matchIndex + m_highlight.length();
}
painter->restore();
}
painter->save();
#ifdef Q_OS_WIN32
// QWindowsVistaStyle overrides highlight colour.
if (style->objectName() == QStringLiteral("windowsvista")) {
opt.palette.setColor(QPalette::All, QPalette::HighlightedText,
opt.palette.color(QPalette::Active, QPalette::Text));
}
#endif
const QPalette::ColorGroup cg = opt.state & QStyle::State_Active
? QPalette::Normal : QPalette::Inactive;
if (opt.state & QStyle::State_Selected)
//.........这里部分代码省略.........