0


QtDesigner超简单UI制作无边框可拖动(手把手教学)●下

效果

接上文

16.添加圆角代码

13步原本就有一个图片路径代码

  1. border-top-left-radius :45px;
  2. border-bottom-left-radius :45px;
  3. border-top-right-radius :45px;
  4. border-bottom-right-radius :45px;

17.圆角效果

18.拉个Frame 用来放按钮部分

19.拉两个按钮

20.Frame右键 水平布局

21.给按钮选择图标

把内容“PushButton”删除,同理关闭按钮也一样设置

22.Frame右键 更改样式表 让两个按钮只显示图标

  1. QPushButton{
  2. border:none;
  3. }
  4. QPushButton:hover{
  5. padding-bottom:5px;
  6. }

23.按钮效果

24.给按钮绑定信号

分别拖动两个按钮 会弹出来窗口

下面这是两次的操作

25.总体效果图

26保存(任意命名)

qrc(第7步)

注意调用UI前把样式表里绑定的资源(qrc)导入进去

xxx.qrc转xxx.py

两种方法:

1.命令

  1. pyrcc5 -o icons_rc.py icons.qrc

2.外部工具pyrcc

实参

  1. -o $FileNameWithoutExtension$.py $FileNameWithoutExtension$.qrc

gumou.qrc→→gumou.py

在代码里写

  1. import gumou

python的调用

1.无边框简单加载

  1. import sys
  2. from PyQt5.QtWidgets import QApplication
  3. from PyQt5 import uic
  4. from PyQt5.QtCore import Qt
  5. import gumou #qrc
  6. if __name__ == '__main__':
  7. app = QApplication(sys.argv)
  8. ui = uic.loadUi("./简单.ui")
  9. # 展示窗口
  10. ui.setWindowOpacity(0.90) # 设置窗口透明度
  11. ui.setWindowFlag(Qt.FramelessWindowHint) #去除边框
  12. ui.setAttribute(Qt.WA_TranslucentBackground) #去除白色背景
  13. ui.show()
  14. sys.exit(app.exec())

2.可任意拖动

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget
  3. from PyQt5 import uic
  4. from PyQt5.QtCore import Qt, QPoint
  5. import gumou #qrc
  6. class DraggableWindow(QWidget):
  7. def __init__(self):
  8. super().__init__()
  9. uic.loadUi("./简单.ui", self)
  10. # 设置窗口标志
  11. self.setWindowFlag(Qt.FramelessWindowHint)
  12. # 设置半透明背景
  13. self.setAttribute(Qt.WA_TranslucentBackground)
  14. # 记录鼠标按下的初始位置
  15. self.offset = QPoint()
  16. def mousePressEvent(self, event):
  17. # 记录鼠标按下的初始位置
  18. self.offset = event.pos()
  19. def mouseMoveEvent(self, event):
  20. # 移动窗口位置
  21. if event.buttons() == Qt.LeftButton:
  22. self.move(self.pos() + event.pos() - self.offset)
  23. if __name__ == '__main__':
  24. app = QApplication(sys.argv)
  25. # 创建可拖动窗口实例
  26. ui = DraggableWindow()
  27. # 显示窗口
  28. ui.show()
  29. # 启动应用程序事件循环
  30. sys.exit(app.exec_())

本文转载自: https://blog.csdn.net/2301_76620728/article/details/135074175
版权归原作者 故厶 所有, 如有侵权,请联系我们删除。

“QtDesigner超简单UI制作无边框可拖动(手把手教学)●下”的评论:

还没有评论