本文整理汇总了C++中QScreen::setOrientationUpdateMask方法的典型用法代码示例。如果您正苦于以下问题:C++ QScreen::setOrientationUpdateMask方法的具体用法?C++ QScreen::setOrientationUpdateMask怎么用?C++ QScreen::setOrientationUpdateMask使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QScreen
的用法示例。
在下文中一共展示了QScreen::setOrientationUpdateMask方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
QT_BEGIN_NAMESPACE
#ifndef QT_NO_WIDGETS
#define Application QApplication
#else
#define Application QGuiApplication
#endif
int main(int argc, char *argv[])
{
Application app(argc, argv);
QScreen* sc = app.primaryScreen();
if(sc){
sc->setOrientationUpdateMask(Qt::LandscapeOrientation
| Qt::PortraitOrientation
| Qt::InvertedLandscapeOrientation
| Qt::InvertedPortraitOrientation);
}
QQmlApplicationEngine engine(QUrl("qrc:/main.qml"));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
if ( !window ) {
qWarning("Error: Your root item has to be a Window.");
return -1;
}
window->showFullScreen();
return app.exec();
}
示例2: orientationChange
void tst_QScreen::orientationChange()
{
qRegisterMetaType<Qt::ScreenOrientation>("Qt::ScreenOrientation");
QScreen *screen = QGuiApplication::primaryScreen();
screen->setOrientationUpdateMask(Qt::LandscapeOrientation | Qt::PortraitOrientation);
QWindowSystemInterface::handleScreenOrientationChange(screen, Qt::LandscapeOrientation);
QWindowSystemInterface::flushWindowSystemEvents();
QTRY_COMPARE(screen->orientation(), Qt::LandscapeOrientation);
QWindowSystemInterface::handleScreenOrientationChange(screen, Qt::PortraitOrientation);
QWindowSystemInterface::flushWindowSystemEvents();
QTRY_COMPARE(screen->orientation(), Qt::PortraitOrientation);
QSignalSpy spy(screen, SIGNAL(orientationChanged(Qt::ScreenOrientation)));
QWindowSystemInterface::handleScreenOrientationChange(screen, Qt::InvertedLandscapeOrientation);
QWindowSystemInterface::flushWindowSystemEvents();
QWindowSystemInterface::handleScreenOrientationChange(screen, Qt::InvertedPortraitOrientation);
QWindowSystemInterface::flushWindowSystemEvents();
QWindowSystemInterface::handleScreenOrientationChange(screen, Qt::LandscapeOrientation);
QWindowSystemInterface::flushWindowSystemEvents();
QTRY_COMPARE(screen->orientation(), Qt::LandscapeOrientation);
QCOMPARE(spy.count(), 1);
spy.clear();
QWindowSystemInterface::handleScreenOrientationChange(screen, Qt::InvertedLandscapeOrientation);
QWindowSystemInterface::flushWindowSystemEvents();
QTRY_COMPARE(screen->orientation(), Qt::LandscapeOrientation);
QCOMPARE(spy.count(), 0);
screen->setOrientationUpdateMask(screen->orientationUpdateMask() | Qt::InvertedLandscapeOrientation);
QTRY_COMPARE(screen->orientation(), Qt::InvertedLandscapeOrientation);
QCOMPARE(spy.count(), 1);
}
示例3: QObject
QT_BEGIN_NAMESPACE
QVideoOutputOrientationHandler::QVideoOutputOrientationHandler(QObject *parent)
: QObject(parent)
, m_currentOrientation(0)
{
QScreen *screen = QGuiApplication::primaryScreen();
// we want to be informed about all orientation changes
screen->setOrientationUpdateMask(Qt::PortraitOrientation|Qt::LandscapeOrientation
|Qt::InvertedPortraitOrientation|Qt::InvertedLandscapeOrientation);
connect(screen, SIGNAL(orientationChanged(Qt::ScreenOrientation)),
this, SLOT(screenOrientationChanged(Qt::ScreenOrientation)));
screenOrientationChanged(screen->orientation());
}
示例4: sipReleaseType
static PyObject *meth_QScreen_setOrientationUpdateMask(PyObject *sipSelf, PyObject *sipArgs)
{
PyObject *sipParseErr = NULL;
{
Qt::ScreenOrientations* a0;
int a0State = 0;
QScreen *sipCpp;
if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QScreen, &sipCpp, sipType_Qt_ScreenOrientations, &a0, &a0State))
{
sipCpp->setOrientationUpdateMask(*a0);
sipReleaseType(a0,sipType_Qt_ScreenOrientations,a0State);
Py_INCREF(Py_None);
return Py_None;
}
}
/* Raise an exception if the arguments couldn't be parsed. */
sipNoMethod(sipParseErr, sipName_QScreen, sipName_setOrientationUpdateMask, doc_QScreen_setOrientationUpdateMask);
return NULL;
}
示例5: main
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QSettings *settings = new QSettings(QDir::homePath()+"/.config/thumbterm/settings.ini", QSettings::IniFormat);
defaultSettings(settings);
QCoreApplication::setApplicationName("Thumbterm");
// fork the child process before creating QGuiApplication
int socketM;
int pid = forkpty(&socketM,NULL,NULL,NULL);
if( pid==-1 ) {
qFatal("forkpty failed");
exit(1);
} else if( pid==0 ) {
setenv("TERM", settings->value("terminal/envVarTERM").toByteArray(), 1);
QString execCmd;
for(int i=0; i<argc-1; i++) {
if( QString(argv[i]) == "-e" )
execCmd = QString(argv[i+1]);
}
if(execCmd.isEmpty()) {
execCmd = settings->value("gen/execCmd").toString();
}
if(execCmd.isEmpty()) {
// Unset POSIXLY_CORRECT as having it set causes bash to start in POSIX mode (http://www.delorie.com/gnu/docs/bash/bashref_62.html#IDX214)
// which causes it to not read the .bashrc on startup (http://lists.gnu.org/archive/html/bug-bash/2001-10/msg00117.html)
unsetenv("POSIXLY_CORRECT");
// execute the user's default shell
passwd *pwdstruct = getpwuid(getuid());
execCmd = QString(pwdstruct->pw_shell);
execCmd.append(" --login");
}
if(settings)
delete settings; // don't need 'em here
QStringList execParts = execCmd.split(' ', QString::SkipEmptyParts);
if(execParts.length()==0)
exit(0);
char *ptrs[execParts.length()+1];
for(int i=0; i<execParts.length(); i++) {
ptrs[i] = new char[execParts.at(i).toLatin1().length()+1];
memcpy(ptrs[i], execParts.at(i).toLatin1().data(), execParts.at(i).toLatin1().length());
ptrs[i][execParts.at(i).toLatin1().length()] = 0;
}
ptrs[execParts.length()] = 0;
execvp(execParts.first().toLatin1(), ptrs);
exit(0);
}
QGuiApplication app(argc, argv);
QQuickWindow::setDefaultAlphaBuffer(true);
QScreen* sc = app.primaryScreen();
if(sc){
sc->setOrientationUpdateMask(Qt::PrimaryOrientation
| Qt::LandscapeOrientation
| Qt::PortraitOrientation
| Qt::InvertedLandscapeOrientation
| Qt::InvertedPortraitOrientation);
}
qmlRegisterType<TextRender>("TextRender",1,0,"TextRender");
MainWindow view;
Terminal term;
Util util(settings);
term.setUtil(&util);
QString startupErrorMsg;
// copy the default config files to the config dir if they don't already exist
copyFileFromResources(":/data/menu.xml", util.configPath()+"/menu.xml");
copyFileFromResources(":/data/english.layout", util.configPath()+"/english.layout");
copyFileFromResources(":/data/finnish.layout", util.configPath()+"/finnish.layout");
copyFileFromResources(":/data/french.layout", util.configPath()+"/french.layout");
copyFileFromResources(":/data/german.layout", util.configPath()+"/german.layout");
copyFileFromResources(":/data/qwertz.layout", util.configPath()+"/qwertz.layout");
KeyLoader keyLoader;
keyLoader.setUtil(&util);
bool ret = keyLoader.loadLayout( settings->value("ui/keyboardLayout").toString() );
if(!ret) {
// on failure, try to load the default one (english) directly from resources
startupErrorMsg = "There was an error loading the keyboard layout.<br>\nUsing the default one instead.";
settings->setValue("ui/keyboardLayout", "english");
ret = keyLoader.loadLayout(":/data/english.layout");
if(!ret)
qFatal("failure loading keyboard layout");
}
QQmlContext *context = view.rootContext();
context->setContextProperty( "term", &term );
context->setContextProperty( "util", &util );
context->setContextProperty( "keyLoader", &keyLoader );
view.setSource(QUrl("qrc:/qml/Main.qml"));
//.........这里部分代码省略.........