关于showFullScreen()的问题

hjl0508 2015-01-15 06:50:58
我是想做一个播放器要将一个widget全屏显示用的是下面的代码,这个代码用在Qt5.3.2上没问题,可是用在Qt4.8.6上就不行,执行这段代码时界面一闪程序就退出来。不知道是什么问题。
因为Qt5上有一个bug不能setWindowFlags(Qt::FramelessWindowHint)和调用winId同时存在所以想用4.8.6 谁知道又碰到这个
有谁知道Qt4.8.6怎么让子窗口全屏吗?

ui->SDLWindow->setWindowFlags(Qt::Window);
ui->SDLWindow->showFullScreen();
...全文
962 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
一鸣惊人的啦 2015-12-01
  • 打赏
  • 举报
回复
this->setWindowFlags (Qt::Window | Qt::FramelessWindowHint); QTimer::singleShot(0, this, SLOT(showFullScreen()));
乔巴好萌 2015-01-15
  • 打赏
  • 举报
回复
Qt4上有showMaximized 这个你试试? #if QT_VERSION >= xxx showFullScreen() #else showMaximized() #endif
#include "accesscontrolsystem.h" AccessControlSystem::AccessControlSystem(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { ui.setupUi(this); initialization(); validateUserLogin(); } AccessControlSystem::~AccessControlSystem() { } /*------------------------------------------- * * 初始化 * ---------------------------------------------*/ void AccessControlSystem::initialization() { this->showFullScreen(); this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint); verifcation = new VerificationDlg(0); /*------------------------------------------- * 固定窗口大小 ---------------------------------------------*/ this->setFixedSize(this->geometry().size()); switchUser = new SwitchUserDlg(this); systemSetting = new SystemSettingDlg(this); cardIssuer = new CardIssuerDlg(this); rechargePostponed = new RechargePostponedDlg(this); cardDownload = new CardDownloadDlg(this); rateSetting = new RateSettingDlg(this); onlineMonitoring = new OnlineMonitoringDlg(this); ui.rightLogoLabel->setPixmap(QPixmap("Resources\\rightLogo.png")); } /*------------------------------------------- * * 验证用户登录 * ---------------------------------------------*/ void AccessControlSystem::validateUserLogin() { /*------------------------------------------- * 密码狗验证 ---------------------------------------------*/ //codeValidate.startValidate(); if (verifcation->exec() == QDialog::Accepted) { this->show(); this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint); }else { exit(1); } } /*------------------------------------------- * * 退出系统 * ---------------------------------------------*/ void AccessControlSystem::on_close_clicked() { //写退出对话框 exit(1); } /*------------------------------------------- * * 最小化 * ---------------------------------------------*/ void AccessControlSystem::on_min_clicked() { this->showMinimized(); } /*------------------------------------------- * * 最大化 * ---------------------------------------------*/ void AccessControlSystem::on_max_clicked() { this->showNormal(); } /*------------------------------------------- * * 切换用户 * ---------------------------------------------*/ void AccessControlSystem::on_switchUserButton_clicked() { switchUser->exec(); } /*------------------------------------------- * * 系统设置 * ---------------------------------------------*/ void AccessControlSystem::on_systemSettingButton_clicked() { systemSetting->exec(); } /*------------------------------------------- * * 卡片发行 * ---------------------------------------------*/ void AccessControlSystem::on_cardIssuerButton_clicked() { cardIssuer->exec(); } /*------------------------------------------- * * 充值延期 * ---------------------------------------------*/ void AccessControlSystem::on_rechargePostponedButton_clicked() { rechargePostponed->exec(); } /*------------------------------------------- * * 卡片下载 * ---------------------------------------------*/ void AccessControlSystem::on_cardDownloadButton_clicked() { cardDownload->exec(); } /*------------------------------------------- * * 费率计算 * ---------------------------------------------*/ void AccessControlSystem::on_rateSettingButton_clicked() { rateSetting->exec(); } /*------------------------------------------- * * 在线监控 * ---------------------------------------------*/ void AccessControlSystem::on_onlineMonitoringButton_clicked() { this->hide(); onlineMonitoring->showFullScreen(); if (onlineMonitoring->exec() == QDialog::Rejected) { this->show(); } } /*------------------------------------------- * * 人事信息 * ---------------------------------------------*/ void AccessControlSystem::on_personnelQueryButton_clicked() { } /*------------------------------------------- * * 提取记录 * ---------------------------------------------*/ void AccessControlSystem::on_extractRecordButton_clicked() { }

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧