要让外部置父进来的窗口不挡住按钮,可以使用win32gui.SetWindowPos()函数来调整窗口的位置和大小。在代码中,可以尝试将win32gui.SetWindowPos()函数的参数xy设置为负值,这样可以将窗口的位置向左上方移动,使其不挡住按钮。

修改后的代码如下所示:

frame = QWidget()
bt_temp = QPushButton(frame)

bt_temp.move(100, 500)
bt_temp.setText("运行")
if column == None:
    self.column_counter += 1
    if self.column_counter == 4:
        self.column_counter = 0
        self.row_counter += 1
        self.tabw_jiankong.setRowCount(self.row_counter + 1)

    self.tabw_jiankong.setCellWidget(self.row_counter, self.column_counter, frame)
else:
    self.tabw_jiankong.setCellWidget(self.row_counter, row, frame)


hwnd_parent = win32gui.GetParent(hwnd)
win32gui.SetParent(hwnd_parent, int(frame.winId()))
win32gui.SetWindowPos(hwnd_parent, win32con.HWND_TOP, -22, -80, 300, 800, win32con.SWP_SHOWWINDOW)

self.tabw_jiankong.setRowHeight(self.row_counter, 1040)
self.tabw_jiankong.setColumnWidth(0, 457)
self.tabw_jiankong.setColumnWidth(1, 457)
self.tabw_jiankong.setColumnWidth(2, 457)
self.tabw_jiankong.setColumnWidth(3, 457)

请注意,xy参数的值可能需要根据实际情况进行调整,以确保窗口不会挡住按钮

frame = QWidget bt_temp = QPushButtonframe bt_tempmove100500 bt_tempsetText运行 if column==None selfcolumn_counter += 1 if selfcolumn_counter == 4

原文地址: http://www.cveoy.top/t/topic/i1Dl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录