Python OpenCV窗口必须出现在所有窗口的前面
我有一个GUI对话框,其中包含一些按钮,单击这些按钮将调用一个函数来显示图像。但是,单击按钮时,OpenCV的窗口将显示在对话框后面。我希望单击按钮时OpenCV窗口出现在它前面 下面是创建窗口并显示图像的代码片段Python OpenCV窗口必须出现在所有窗口的前面,python,python-2.7,opencv,window,Python,Python 2.7,Opencv,Window,我有一个GUI对话框,其中包含一些按钮,单击这些按钮将调用一个函数来显示图像。但是,单击按钮时,OpenCV的窗口将显示在对话框后面。我希望单击按钮时OpenCV窗口出现在它前面 下面是创建窗口并显示图像的代码片段 cv2.namedWindow('image',0) cv2.resizeWindow('image',1200,720) while(1): cv2.imshow('image', self.img_res) k = cv2
cv2.namedWindow('image',0)
cv2.resizeWindow('image',1200,720)
while(1):
cv2.imshow('image', self.img_res)
k = cv2.waitKey(1) & 0xFF
if k == ord('m'):
res = 1
break
elif k == 27:
break
我已经看到了一些使用win32gui模块的示例,但我不确定在这里如何使用它
(我在Windows中使用的是Python 2.7)我不知道您的完整代码,但当我这样尝试时,它会出现在窗口前面。希望有帮助
import tkinter as tk
from tkinter import *
import cv2
class GUI:
def __init__(self, master):
self.event = 1
self.master = master
self.img_res = img = cv2.imread('image.jpg', 0)
self.b = Button(self.master, text='Show image', command=self.window)
self.b.pack()
def window(self, event=None):
while self.event == 1:
cv2.imshow('image', self.img_res)
k = cv2.waitKey(1) & 0xFF
if k == ord('m'):
res = 1
break
elif k == 27:
break
def main():
root = tk.Tk()
app = GUI(root)
root.mainloop()
if __name__ == '__main__':
main()
补充:
您也可以尝试导入ctypes
import ctypes
ctypes.windll.kernel32.GetConsoleWindow()