- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我如何为用作主窗口的 Qt 无框小部件实现调整大小选项?
最佳答案
我也刚遇到这个问题,我通过为我的 QMainWindow 添加自定义 mouseEvent 处理程序解决了这个问题。我正在使用 PyQt,但它在 C++ 中应该非常相似。
在我的实现中,在无框小部件(称为 MyClass
)上的任意位置拖动鼠标右键可调整其大小。
按下鼠标右键时,存储坐标:
def mousePressEvent(self, event):
super(MyClass, self).mousePressEvent(event)
if event.button() == QtCore.Qt.RightButton:
self.rdragx = event.x()
self.rdragy = event.y()
self.currentx = self.width()
self.currenty = self.height()
self.rightClick = True
如果鼠标在按钮仍被按下时移动(即,当它被拖动时),则调整 QMainWindow 的大小。不要让它变得小于预定义的最小尺寸。
def mouseMoveEvent(self, event):
super(Myclass, self).mouseMoveEvent(event)
if self.rightClick == True:
x = max(frame.minimumWidth(),
self.currentx + event.x() - self.rdragx)
y = max(frame.minimumHeight(),
self.currenty + event.y() - self.rdragy)
self.resize(x, y)
释放鼠标按钮时,将按钮变量重置为 False 以停止移动时调整大小。
def mouseReleaseEvent(self, event):
super(MyClass, self).mouseReleaseEvent(event)
self.rightClick = False
关于c++ - 为 Qt Frameless 小部件实现调整大小选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7128238/
我如何为用作主窗口的 Qt 无框小部件实现调整大小选项? 最佳答案 我也刚遇到这个问题,我通过为我的 QMainWindow 添加自定义 mouseEvent 处理程序解决了这个问题。我正在使用 Py
您好, 我有一个无框架应用程序,我在其中重新实现了我的菜单栏。我想获得操作系统(Max、Windows ...)的默认关闭、最小化和最大化按钮。 有人可以给我一些指导或提示吗?我试过使用: maxPi
我正在构建一个具有自己的自定义镶边的应用程序。我通过设置标志关闭了默认窗口边框: this->setWindowFlags(Qt::FramelessWindowHint); 设置此标志并关闭默认窗口
我正在构建一个没有默认窗口边框的 Qt 应用程序作为无框窗口。通过在 QMainWindow 中设置窗口标志来包含窗口函数,例如: MainDialog::MainDialog(QWidget
我想要一个未修饰的窗口,它将保留在所有窗口的背景中。 为此,我将两个窗口标志应用于此 Qt 窗口:Qt::FramelessWindowHint 和 Qt::WindowStaysOnBottomHi
我是一名优秀的程序员,十分优秀!