03 2024 档案
摘要:windows平台 首先通过代码实现窗口最大化 int title_bar_height = style()->pixelMetric(QStyle::PM_TitleBarHeight); // 获取标题栏高度 QRect primary_rect = QApplication::desktop(
阅读全文
摘要:QToolTip 通过qss设置字体大小后,有时候显示不全,有时候可以显示全,原因不明。 显示不全的时候,看着像是按照一个较小的字体大小显示 显示不全的情况: 显示全的情况: qss如下 QToolTip { border:0px ; border-radius: 4px; font-size: 1
阅读全文
摘要:如某个widget我们想置顶显示,通过Qt::WindowStaysOnTopHint实现。但此后弹出的模态对话框,如QMessageBox的提示窗口,将会被刚才置顶的widget遮挡,无法退出模态对话框就无法进行任何操作,整个UI处于假死状态 解决办法:新创建的对话框也设置Qt::WindowSt
阅读全文
摘要:查看QDialog::exec的源码 int QDialog::exec() { Q_D(QDialog); if (d->eventLoop) { qWarning("QDialog::exec: Recursive call detected"); return -1; } bool delet
阅读全文
摘要:错误代码: char output[3]; char ddd = 0x92; sprintf_s(output, 3, "%02x", ddd); char时0x92转换结果为ffffff92,上述代码改为下面就不会报错 char output[9]; char ddd = 0x92; sprint
阅读全文
摘要:DLL隐式加载时没问题,进程可以正常退出。显式加载时就会卡在FreeLibrary,一运行至FreeLibrary调试器里的调用堆栈就被清空了,进程没有退出,但也不报错,经排查不是线程、指针之类的低级错误,跟自己代码没关系 一种可能是DllMain死锁,但里面什么都没做 switch (ul_rea
阅读全文
摘要:连着两个屏幕A和B,把程序窗口移动到屏幕B上显示,然后断开屏幕B后,在屏幕A上看不见程序窗口,即使重启电脑重新运行程序也一样。 这是因为程序内部记忆了窗口B的屏幕坐标位置,每次运行自动恢复上一次退出前的窗口位置。解决办法:显示设置-修改别的分辨率-再改回来,窗口就好出现,然后正常退出程序即可
阅读全文