PyQT5之窗口
1.PyQT5图像2.PyQT5水平垂直布局3.PyQT5之图片左右翻页4.PyQT5之QPushButton和布局5.PyQT5之label6.PyQT5之选择图片7.PyQT5之自定义信号
8.PyQT5之窗口
9.PyQT5之菜单栏和工具栏10.PyQT5之QComboBox11.PyQT5之Checkbox12.PyQT5之QRadioButton13.PyQT5之单行文本输入到多行显示窗14.PyQT5之网格布局多图片显示15.PyQtGraph绘制折线图16.PyQT5之PyQtGraph实时数据显示17.PyQT5之窗口最大化最小化18.PyQT5之QSS基础/子控件选择器19.PyQT5样式设置20.PyQT5绘图21.PyQT5窗口样式设置22.PyQT5之设置窗口控件风格23.PyQT5之多窗口交互24.PyQT5之override覆盖槽函数25.PyQT5之为槽函数传递参数26.PyQT5信号与槽的连接27.PyQT5信号刷新时间28.PyQT5之信号关闭窗口29.信号与槽N对N30.PyQT5之多个信号31.PyQT5之QTreeView32.PyQT5内嵌html33.PyQT5加载本地web页面34.PyQT5之QWebEngineView35.PyQT5之QThread36.PyQT5之QTimer37.PyQT5之QStackedWidget38.PyQT5之QTreeWidget-QTabWidget39.PyQT5之QTableWidget40.PyQT5之QListWidget41.PyQT5之QListView42.PyQT5之二维表QTableView43.PyQT5打印机44.PyQT5之QPainter45.PyQT5之QFontDialog46.PyQT5之QInputDialog47.PyQT5之QMessageBox48.PyQT5之QDialog49.PyQT5之多页面切换50.PyQT5之计数器控件QSpinBox51.PyQT5之滑块控件QSlider52.PyQtGraph绘图参考53.PyQtGraph之多图绘制54.PyQtGraph之柱状图55.PyQt5选择文件控件QFileDialog窗口类型:
QMainWindow:可以包含菜单栏、工具栏、状态栏、标题栏
QWidget:不确定窗口的用途,就使用QWidget
QDialog: 是对话窗口的基类,没有菜单栏、工具栏、状态栏
from PyQt5.QtWidgets import QWidget, QDesktopWidget, QMainWindow, QApplication, QPushButton, QHBoxLayout
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import QIcon
import sys
import cv2
class FirstMainWin(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# 设置主窗口的标题
self.setWindowTitle('第一个主窗口应用,并居中')
# 设置窗口的尺寸
self.resize(400, 300)
self.status = self.statusBar() # 设置状态栏
self.status.showMessage("只存在5秒的消息", 5000)
self.btn1 = QPushButton("退出应用程序")
# 将信号与槽关联
self.btn1.clicked.connect(self.on_click_button)
layout = QHBoxLayout()
layout.addWidget(self.btn1)
main_frame = QWidget()
main_frame.resize(300, 240)
self.print_size(main_frame)
main_frame.setLayout(layout)
self.setCentralWidget(main_frame)
def print_size(self, main_frame):
print(main_frame.x(), main_frame.y(), main_frame.width(), main_frame.height())
print(main_frame.geometry().x(), main_frame.geometry().y(),
main_frame.geometry().width(), main_frame.geometry().height())
print(main_frame.frameGeometry().x(), main_frame.frameGeometry().y(),
main_frame.frameGeometry().width(), main_frame.frameGeometry().height())
def on_click_button(self):
sender = self.sender()
print(sender.text() + "按钮被按下")
app = QApplication.instance()
# 对出应用程序
app.quit()
def center(self):
# 获取屏幕坐标系
screen = QDesktopWidget().screenGemotry()
# 获取窗口坐标系
size = self.geometry()
new_left = (screen.width() - size.width()) / 2
new_top = (screen.height() - size.height()) / 2
self.move(new_left, new_top)
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setWindowIcon(QIcon('./image/icon/特性.png'))
main_win = FirstMainWin()
main_win.show()
sys.exit(app.exec_())
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析