PyQt5笔记-屏幕坐标系

代码实现如下:

import sys
from PyQt5.QtWidgets import QHBoxLayout,QDesktopWidget,QMainWindow,QApplication,QWidget,QPushButton

#直接使用面向过程方式创建程序
def onClick_Button():
    print("第一种方法:")
    #输出窗口位置坐标
    print("widget.x() = %d" % widget.x())   #250(窗口横坐标)
    print("widget.y() = %d" % widget.y())   #200(窗口纵坐标)
    print("widget.width() = %d" % widget.width())   #300(工作区宽度)
    print("widget.height() = %d" % widget.height()) #340(工作区高度)
    print('')
    print("第二种方法:")
    # 通过坐标系输出窗口位置坐标
    print("widget.geometry().x() = %d" % widget.geometry().x()) #251(工作区横坐标,包含边框像素)
    print("widget.geometry().y() = %d" % widget.geometry().y()) #231(工作区纵坐标,包含边框像素)
    print("widget.geometry().width() = %d" % widget.geometry().width())     #300(工作区宽度)
    print("widget.geometry().height() = %d" % widget.geometry().height())   #340(工作区高度)
    print('两种方法y输出相差是因为工具栏存在高度31像素,输出的是工作区的左上角坐标')
    print('')
    #通过框架输出窗口坐标
    print("widget.frameGeometry().x() = %d" % widget.frameGeometry().x())   #250(窗口横坐标)
    print("widget.frameGeometry().y() = %d" % widget.frameGeometry().y())   #200(窗口纵坐标)
    print("widget.frameGeometry().width() = %d" % widget.frameGeometry().width())   #302(窗口宽度,包含边框像素宽度)
    print("widget.frameGeometry().height() = %d" % widget.frameGeometry().height()) #272(窗口高度,包含标题栏)
    print('和第一种输出一样是输出窗口的坐标位置,但是高度含有标题栏')

app = QApplication(sys.argv)
#创建窗口
widget = QWidget()
btn = QPushButton(widget)
btn.setText("按钮")
#进行连接
btn.clicked.connect(onClick_Button)
#设置按钮的位置
btn.move(24,52)
#设置窗口尺寸
widget.resize(300,240)  #设置工作区的尺寸(并不是设置整个窗口的尺寸)
#移动窗口
widget.move(250,200)

widget.setWindowTitle('屏幕坐标系')

widget.show()

sys.exit(app.exec_())

#定义单击事件
def onClick_Button():
    print("onclick")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值