PyQt5学习之路,点击有pyqt5学习笔记
窗口控件(Widget,简称"控件"),是PyQt中建立界面的主要元素。
PyQt使用统一的坐标系统来定位窗口控件的位置和大小,以屏幕的左上方角原点,向右为x轴正方向,向下为y轴正方向。
窗口内部也有自己的坐标系统,左上方角原点,向右为x轴正方向,向下为y轴正方向。x轴,y轴围成的区域叫做客户区,客户区的周围是标题栏和边框
QWidget的成员函数可以分为三类
QWidget.resize(width, height)
QWidget.resize(QSize)
QWidget.size()
QWidget.width()
QWidget.height()
QWidget.setFixedWidth(int width) # 高度固定,只可以改变宽度
QWidget.setFixedHeight(int height) # 宽度固定,只可以改变高度
QWidget.setFixedSize(QSize size) # 固定大小,不可以通过鼠标改变
QWidget.setFixedSize(int width, int height) # 固定大小,不可以通过鼠标改变
QWidget.setGeometry(int x, int y, int width, int height)
QWidget.setGeometry(QRect rect)
QWidget.frameGeometry()
QWidget.move(int x, int y)
QWidget.move(QPoint point)
QWidget.pos()
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget, QHBoxLayout, QWidget, QPushButton
def onClick_Button():
print('1、QWidget,窗口')
print("widget.x()= %d" % widget.x()) # 窗口横坐标
print("widget.y()= %d" % widget.y()) # 窗口纵坐标
print("widget.width()= %d" % widget.width()) # 工作区宽度
print("widget.height()= %d" % widget.height()) # 工作区高度
print('------------------------------------------')
print('2、gemetry,工作区')
print("widget.geometry().x()= %d" % widget.geometry().x()) # 工作区横坐标
print("widget.geometry().y()= %d" % widget.geometry().y()) # 工作区纵坐标
print("widget.geometry().width()= %d" % widget.geometry().width()) # 工作区宽度
print("widget.geometry().height()= %d" % widget.geometry().height()) # 工作区宽度
print('------------------------------------------')
print('3、frameGeometry,工作区+标题栏')
print("widget.frameGeometry().x()= %d" % widget.frameGeometry().x()) # 窗口横坐标
print("widget.frameGeometry().y()= %d" % widget.frameGeometry().y()) # 窗口纵坐标
print("widget.frameGeometry().width()= %d" % widget.frameGeometry().width()) # 窗口宽度
print("widget.frameGeometry().height()= %d" % widget.frameGeometry().height()) # 窗口高度
app = QApplication(sys.argv)
widget = QWidget()
btn = QPushButton(widget)
btn.setText("按钮")
btn.clicked.connect(onClick_Button)
btn.move(24, 52)
widget.resize(300, 244)
widget.move(250, 200)
widget.setWindowTitle('QWidget')
widget.show()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget, QHBoxLayout, QWidget, QPushButton
from PyQt5.QtGui import QIcon
class IconForm(QMainWindow):
def __init__(self, parent=None):
super(IconForm, self).__init__(parent)
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 250)
# 设置主窗口的标题
self.setWindowTitle("主窗口应用")
# 设置窗口的尺寸
self.resize(400, 300)
# 设置窗口图标
self.setWindowIcon(QIcon('./about_us_bk.jpg'))
if __name__ == '__main__':
app = QApplication(sys.argv)
main = IconForm()
main.show()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget, QHBoxLayout, QWidget, QPushButton, QToolTip
from PyQt5.QtGui import QFont
class TooltipForm(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
self.btn()
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 12))
self.setToolTip('今天是星期五')
self.setGeometry(300, 300, 200, 300)
self.setWindowTitle('设置控件提示信息')
def btn(self):
self.button1 = QPushButton('我的按钮')
self.button1.setToolTip('这是一个按钮')
layout = QHBoxLayout()
layout.addWidget(self.button1)
mainFrame = QWidget()
mainFrame.setLayout(layout)
self.setCentralWidget(mainFrame)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = TooltipForm()
main.show()
sys.exit(app.exec_())