Python GUI 编程

做一些实用小工具。

1. tkinter

  • hello world

    from tkinter import Tk, Label
    root = Tk()
    label = Label(root, text="hello world")
    label.pack()        # pack() ⇒ 起到 Layout 布局的作用
    root.mainloop()
  • 按钮及其事件:

    from tkinter import Tk, Frame, Label, Button, Entry
    from tkinter import DoubleVar
    
    
    class TempConverter:
        def __init__(self, master):
            mainframe = Frame(master)
            mainframe.pack()
    
            label1_1 = Label(mainframe, text='deg C')
            label1_1.grid(row=0, column=0)
    
            self.c_val = DoubleVar()
            entry1_2 = Entry(mainframe, textvariable=self.c_val)
            entry1_2.grid(row=0, column=1)
    
            self.f_val = DoubleVar()
    
            label2_1 = Label(mainframe, text='deg F')
            label2_1.grid(row=1, column=0)
    
            label2_2 = Label(mainframe, textvariable=self.f_val)
            label2_2.grid(row=1, column=1)
    
            button = Button(mainframe, text='Convert', command=self.convert)
            button.grid(row=2, columnspan=2)
    
        def convert(self):
            self.f_val.set(self.c_val.get() * 1.8 + 32)
    
    root = Tk()
    root.wm_title('tmp converter')
    converter = TempConverter(root)
    root.mainloop()

    通过 grid() 成员的 row 和 column 属性进行布局,layout 如下:


    这里写图片描述

# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'aaa.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! import sys, os from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5 import QtCore, QtGui, QtWidgets class U_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1204, 836) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.tableWidget = QtWidgets.QTableWidget(self.centralwidget) self.tableWidget.setGeometry(QtCore.QRect(80, 240, 1041, 371)) self.tableWidget.setAutoScrollMargin(9) self.tableWidget.setRowCount(9) self.tableWidget.setColumnCount(8) self.tableWidget.setObjectName("tableWidget") item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(3, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(4, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(5, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(6, item) item = Q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值