使用 TK
或者 QT
程序编辑画布界面的时候, 可能会对于定位排版的时候, 使用了绝对位置参数定位, 哪怕是用了百分比的参数定位, 对于对窗口进行大小拖拽这样的事情, 也会影响美观, 所以就我个人而言这个问题, 我都是将窗口设置成不可拖拽改变大小的。
匿名网友:“怎么设置?”。
好的, 我们满足这个网友, 帮 TA 解决这个问题。
ps:内心戏真足~
PyQt5
对于 QT 程序, 虽然有一个 QT Designer 可以实现图形化编码, 并实现最终展示的画布界面, 但是, 个人感觉用不来, 可能是我太笨了, 还是喜欢用代码的方式写:
#!/usr/bin/env python # _*_ Coding: UTF-8 _*_ from PyQt5 import QtWidgets if __name__ == '__main__': app = QtWidgets.QApplication([]) windows = QtWidgets.QWidget() windows.setWindowTitle('Medusa MQT') windows.setMinimumWidth(400) windows.setMaximumWidth(400) windows.setMinimumHeight(400) windows.setMaximumHeight(400) windows.show() app.exec_()
在第九行至十二行代码中, 我们使用了配置最大和最小值来限制窗口大小, 而 QT 的展示上, 是连鼠标都没有了。
从上面的 GIF 中可以看到鼠标移动到界面边缘并没有出现双箭头图标, 也意味着不能改变其床头大小。
Tkinter
TK 稍微有一点点点点不一样, 虽然鼠标靠近画布边缘有双箭头图标, 但是由于设置了相关属性, 拖拽实际上并无效果。
#!/usr/bin/env python # _*_ Coding: UTF-8 _*_ import tkinter as tk if __name__ == '__main__': window = tk.Tk() window.title('Medusa MTK') window.minsize(400, 400) window.maxsize(400, 400) window.mainloop()
在第八、第九行设置了最大和最小的宽高数值, 所以这样就限制了窗口拖拽的最大和最小尺寸。
示例中向内拖拽测试仅有一次, 但是实际上向内向外拖拽都是没有效果的, 达到了预期的效果。
后记
实际上开发的画布组件一般情况会用相对数值定位比较多, 如果不限制大小, 可能会把组件遮挡, 可能会留下一大块空白区域, 在美观上, 还是存在一些小问题, 当然, 这并不影响功能使用。