- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个正在构建的桌面应用程序,它检查 QSetting
值,如果未设置,则显示一个 QMainWindow
类,但如果已设置,则显示一个不同的 QMainWindow
类。这两个类在这一点上实际上是相同的,因为它还处于早期阶段并且实际上不包含任何内容。
在我的 main
函数中,这是我得到的:
int main (int argc, char *argv[]) {
...
if (userToken == "NO_USER") {
LoginWindow w;
w.show();
} else {
MainWindow w;
w.show();
}
return a.exec();
}
与我创建项目时设置的默认项目之间的唯一区别是添加了条件窗口加载。 MainWindow
和 LoginWindow
除了与其关联的 ui 文件外没有任何加载,它们在功能上是相同的。
奇怪的是,如果我为 LoginWindow
执行 w.showFullScreen()
,如果我执行 w,它就会出现并占据整个屏幕。 show()
什么都没有发生,没有编译器警告|错误,应用程序运行正常,只是没有窗口显示。
如果我删除条件语句和 LoginWindow
引用,MainWindow 会正常显示。
知道为什么在同一类上调用 .showFullScreen()
会起作用,但调用 .show()
却不行吗?
最佳答案
我不确定这是否能解决您的问题,但您的代码中肯定存在错误。您正在一个紧密范围内实例化堆栈上的窗口对象,正如您所知,这些对象一旦超出该范围就会被破坏。您正在做的是在应用程序启动之前让它们超出范围。
请试试这个:
int main (int argc, char *argv[]) {
...
if (userToken == "NO_USER") {
LoginWindow w;
w.show();
return a.exec();
} else {
MainWindow w;
w.show();
return a.exec();
}
}
关于c++ - QMainWindow 没有 .show() 但 .showFullScreen() 有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43097025/
我有一个使用 PySide 用 python 编写的 QT 应用程序,我偶然发现了一个关于 QGLWidget 的 showFullScreen 方法的小问题(尽管其他所有小部件也会出现这个问题):
我有一个正在构建的桌面应用程序,它检查 QSetting 值,如果未设置,则显示一个 QMainWindow 类,但如果已设置,则显示一个不同的 QMainWindow 类。这两个类在这一点上实际上是
我正在尝试将 float (未停靠)的 QDockWidget 置于全屏模式。在 Windows 上,一切看起来都很简单。例如,我将 dockwidget (dw) 的 topLevelChanged
我是一名优秀的程序员,十分优秀!