【发布时间】:2016-12-06 10:16:33
【问题描述】:
我无法在 PyQt 4.8 中让 QWidget 真正全屏显示。我采取了两种方法:
-
直接编码(可行)
import sys from PyQt4 import QtGui, QtCore import qimage2ndarray as q2n import numpy as np from scipy.misc.common import lena class FullscreenWindow(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.qg = QtGui.QGraphicsView(self) self.scene = QtGui.QGraphicsScene(self) self.qg.setScene(self.scene) # Make window fullscreen and always on top self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) self.setWindowFlags(QtCore.Qt.FramelessWindowHint) # set the image (lena) qimg = q2n.array2qimage(np.pad(lena(), ((0,0),(0,0)), mode='constant')) pix = QtGui.QPixmap(qimg) self.scene.clear() self.scene.addPixmap(pix) self.show() class MainWindow(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.fullscreen = FullscreenWindow() qdw = QtGui.QDesktopWidget() screen = qdw.screenGeometry(screen=1) self.fullscreen.setGeometry(screen) if __name__ == '__main__': app = QtGui.QApplication(sys.argv) winMain = MainWindow(None) winMain.show() app.exec_() 用 QtDesigner 设计了窗口,有一个带有 QGraphicsView 的 QWidget,用我的 Image 设置了一个 QGraphicsScene。基本上与上面的代码相同,但使用 uic 模块导入 ui 文件。附加结果的图像。我总是得到一个灰色边框,它似乎是 QWidget 的一部分。
这是为什么呢?如何摆脱它?
【问题讨论】:
-
为什么包含您说有效的代码,而不包含无效的代码?此外,您显示的屏幕截图看起来不像全屏窗口 - 或者至少,它看起来不像您的代码示例应该生成的屏幕。
标签: python pyqt fullscreen qgraphicsview