当前位置: 首页 > news >正文 如何制作学校网站制作网站品牌公司 news 2025/11/1 18:21:50 如何制作学校网站,制作网站品牌公司,招聘网站开发价格,河北做网站找谁QT程序界面的 一个个窗口、控件#xff0c;就是像上面那样用相应的代码创建出来的。 但是#xff0c;把你的脑海里的界面#xff0c;用代码直接写出来#xff0c;是有些困难的。 很多时候#xff0c;运行时呈现的样子#xff0c;不是我们要的。我们经常还要修改代码调整界…QT程序界面的 一个个窗口、控件就是像上面那样用相应的代码创建出来的。 但是把你的脑海里的界面用代码直接写出来是有些困难的。 很多时候运行时呈现的样子不是我们要的。我们经常还要修改代码调整界面上控件的位置再运行预览。反复多次这样操作。 可是这样真的…太麻烦了。 其实我们可以用QT界面生成器 Qt Designer 拖拖拽拽就可以直观的创建出程序大体的界面。 怎么运行这个工具呢 Windows下运行 Python安装目录下 Scripts\pyside2-designer.exe 这个可执行文件 如果你安装的是pyqt5 运行 Python安装目录下 Scripts\pyqt5designer.exe 这个可执行文件 根据上面链接的视频讲解大家初步了解一下 Qt Designer 的使用方法。 通过 Qt Designer 设计的界面最终是保存在一个ui文件中的。 大家可以打开这个ui文件看看就是一个XML格式的界面定义。 动态加载UI文件 执行如下的命令 把UI文件直接转化为包含界面定义的Python代码文件 pyside2-uic main.ui ui_main.py 如果你安装的是PyQt5执行如下格式的命令转化 pyuic5 main.ui ui_main.py 然后在你的代码文件中这样使用定义界面的类 from PySide2.QtWidgets import QApplication,QMainWindow from ui_main import Ui_MainWindow class MainWindow(QMainWindow): def __init__(self): super().__init__() # 使用ui文件导入定义界面类 self.ui Ui_MainWindow() # 初始化界面 self.ui.setupUi(self) # 使用界面定义的控件也是从ui里面访问 self.ui.webview.load(http://www.baidu.com) app QApplication([]) mainw MainWindow() mainw.show() app.exec_() 那么我们该使用哪种方式比较好呢动态加载还是转化为Python代码 白月黑羽建议通常采用动态加载比较方便因为改动界面后不需要转化直接运行特别方便。 但是如果 你的程序里面有非qt designer提供的控件 这时候需要在代码里面加上一些额外的声明而且 可能还会有奇怪的问题。往往就 要采用 转化Python代码的方法。 一个练习 请大家利用Qt Designer 实现一个 类似 Postman 的 HTTP 接口测试工具。 界面如下 要实现的功能点击这里观看视频说明 这个界面里面用到了常见的几个控件按钮单行文本框多行文本框组合选择框表格。 其中 选择框、表格 这两个控件 没有接触过的朋友可以先学习一下本教程 后面章节 常见控件2 。 如果你对 使用Python语言发送HTTP请求不熟悉可以先把界面做出来。 然后点击这里学习白月黑羽的 HTTP Requests 教程后再去实现。游客 也可以 做这个练习并且得到参考代码点击这里查看 界面布局 Layout点击这里边看视频讲解边学习以下内容 我们前面写的界面程序有个问题如果你用鼠标拖拽主窗口边框右下角进行缩放就会发现里面的控件一直保持原有大小不变。这样会很难看。 我们通常希望随着主窗口的缩放 界面里面的控件、控件之间的距离也相应的进行缩放。 Qt是通过界面布局Layout类来实现这种功能的。 我们最常用的 Layout布局 有4种分别是 QHBoxLayout 水平布局 QHBoxLayout 把控件从左到右 水平横着摆放如下所示 QVBoxLayout 垂直布局 QHBoxLayout 把控件从上到下竖着摆放如下所示 QGridLayout 表格布局 QGridLayout 把多个控件 格子状摆放有的控件可以 占据多个格子如下所示 QFormLayout 表单布局 QFormLayout 表单就像一个只有两列的表格非常适合填写注册表单这种类型的界面如下所示 Layout 示例 请看视频讲解 用 layout进行布局。 MainWindow 的Layout 如果我们选择的主窗口是MainWindow类型要给MainWindow整体设定Layout必须 先添加一个控件到 centralwidget 下面 如下 然后才能右键点击 MainWindow选择布局如下 调整控件位置和大小点击这里边看视频讲解边学习以下内容 调整layout中控件的大小比例 可以通过设定控件的sizePolicy来调整具体操作请看视频讲解。 调整控件间距 要调整控件上下间距可以给控件添加layout然后通过设定layout的上下的padding 和 margin 来调整间距具体操作请看视频讲解。 要调整控件的左右间距可以通过添加 horizontal spacer 进行控制也可以通过layout的左右margin 调整控件次序 有的时候 我们需要调整 一个layout里面控件的上下显示次序或者左右显示次序该怎么做呢 如果是简单的两个控件在 layout里面通常直接拖动就行了。 但如果是更复杂的情况比如 大家点击这里下载一个白月黑羽实战班学员开发的程序界面代码解压后拖动里面的main.ui界面文件到Qt设计师里面。 如果我们要在原来的界面上做一些修改如下图所示 大家可以自己尝试 新建一个垂直layout把原来的两个layout 拖动到垂直layout里面。 就会发现如果要调整两个layout的上下显示次序直接拖动经常会导致界面混乱。 怎么办呢本节讲解仅 内部学员 可见 界面布局步骤建议点击这里边看视频讲解边学习以下内容 对界面控件进行布局白月黑羽的经验是 按照如下步骤操作 先不使用任何Layout把所有控件 按位置 摆放在界面上然后先从 最内层开始 进行控件的 Layout 设定逐步拓展到外层 进行控件的 Layout设定最后调整 layout中控件的大小比例 优先使用 Layout的 layoutStrentch 属性来控制 从一个窗口跳转到另外一个窗口 经常有朋友问我程序开始的时候显示一个窗口比如登录窗口操作后进入到另外一个窗口怎么做。 方法很简单主要就是 实例化另外一个窗口显示新窗口关闭老窗口。 如下代码所示 from PySide2 import QtWidgets import sys class Window2(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.setWindowTitle(窗口2) centralWidget QtWidgets.QWidget() self.setCentralWidget(centralWidget) button QtWidgets.QPushButton(按钮2) grid QtWidgets.QGridLayout(centralWidget) grid.addWidget(button) class MainWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.setWindowTitle(窗口1) centralWidget QtWidgets.QWidget() self.setCentralWidget(centralWidget) button QtWidgets.QPushButton(打开新窗口) button.clicked.connect(self.open_new_window) grid QtWidgets.QGridLayout(centralWidget) grid.addWidget(button) def open_new_window(self): # 实例化另外一个窗口 self.window2 Window2() # 显示新窗口 self.window2.show() # 关闭自己 self.close() if __name__ __main__: app QtWidgets.QApplication(sys.argv) window MainWindow() window.show() sys.exit(app.exec_())点击这里下载 一个登录切换到主窗口 的示例代码包 如果经常要在两个窗口来回跳转可以使用 hide() 方法 隐藏窗口 而不是 closes() 方法关闭窗口。 这样还有一个好处被隐藏的窗口再次显示时原来的操作内容还保存着不会消失。 弹出模式对话框 有的时候我们需要弹出一个模式对话框输入一些数据然后回到 原窗口。 所谓模式对话框就是弹出此对话框后 原窗口就处于不可操作的状态只有当模式对话框关闭才能继续。 参考如下代码 from PySide2 import QtWidgets import sys class MyDialog(QtWidgets.QDialog): def __init__(self): super().__init__() self.setWindowTitle(模式对话框) self.resize(500, 400) self.textEdit QtWidgets.QPlainTextEdit(self) self.textEdit.setPlaceholderText(请输入薪资表) self.textEdit.move(10, 25) self.textEdit.resize(300, 350) self.button QtWidgets.QPushButton(统计, self) self.button.move(380, 80) class MainWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.setWindowTitle(主窗口) centralWidget QtWidgets.QWidget() self.setCentralWidget(centralWidget) button QtWidgets.QPushButton(打开模式对话框) button.clicked.connect(self.open_new_window) grid QtWidgets.QGridLayout(centralWidget) grid.addWidget(button) def open_new_window(self): # 实例化一个对话框类 self.dlg MyDialog() # 显示对话框代码阻塞在这里 # 等待对话框关闭后才能继续往后执行 self.dlg.exec_() if __name__ __main__: app QtWidgets.QApplication(sys.argv) window MainWindow() window.show() sys.exit(app.exec_()) 课后练习 VIP实战班学员请联系老师完成一个数据抽样的程序开发界面如下 文章转载自: http://www.morning.mhxlb.cn.gov.cn.mhxlb.cn http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn http://www.morning.kxxld.cn.gov.cn.kxxld.cn http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn http://www.morning.mprky.cn.gov.cn.mprky.cn http://www.morning.rcmwl.cn.gov.cn.rcmwl.cn http://www.morning.bdtpd.cn.gov.cn.bdtpd.cn http://www.morning.grfhd.cn.gov.cn.grfhd.cn http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn http://www.morning.c7627.cn.gov.cn.c7627.cn http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.rfqk.cn.gov.cn.rfqk.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.tclqf.cn.gov.cn.tclqf.cn http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn http://www.morning.mqwnz.cn.gov.cn.mqwnz.cn http://www.morning.bqppr.cn.gov.cn.bqppr.cn http://www.morning.xnlj.cn.gov.cn.xnlj.cn http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn http://www.morning.wbhzr.cn.gov.cn.wbhzr.cn http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.mcbqq.cn.gov.cn.mcbqq.cn http://www.morning.pyncx.cn.gov.cn.pyncx.cn http://www.morning.rpzqk.cn.gov.cn.rpzqk.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn http://www.morning.lflnb.cn.gov.cn.lflnb.cn http://www.morning.zhnyj.cn.gov.cn.zhnyj.cn http://www.morning.gkxyy.cn.gov.cn.gkxyy.cn http://www.morning.qnbsx.cn.gov.cn.qnbsx.cn http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn http://www.morning.xcdph.cn.gov.cn.xcdph.cn http://www.morning.shawls.com.cn.gov.cn.shawls.com.cn http://www.morning.brwwr.cn.gov.cn.brwwr.cn http://www.morning.fglzk.cn.gov.cn.fglzk.cn http://www.morning.srgyj.cn.gov.cn.srgyj.cn http://www.morning.c7513.cn.gov.cn.c7513.cn http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn http://www.morning.xhlht.cn.gov.cn.xhlht.cn http://www.morning.byywt.cn.gov.cn.byywt.cn http://www.morning.psxxp.cn.gov.cn.psxxp.cn http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn http://www.morning.jcfg.cn.gov.cn.jcfg.cn http://www.morning.wsjnr.cn.gov.cn.wsjnr.cn http://www.morning.clpfd.cn.gov.cn.clpfd.cn http://www.morning.xqcbz.cn.gov.cn.xqcbz.cn http://www.morning.wrlff.cn.gov.cn.wrlff.cn http://www.morning.xywfz.cn.gov.cn.xywfz.cn http://www.morning.rjcqb.cn.gov.cn.rjcqb.cn http://www.morning.nkiqixr.cn.gov.cn.nkiqixr.cn http://www.morning.rttxx.cn.gov.cn.rttxx.cn http://www.morning.zrjzc.cn.gov.cn.zrjzc.cn http://www.morning.srbmc.cn.gov.cn.srbmc.cn http://www.morning.zycll.cn.gov.cn.zycll.cn http://www.morning.fosfox.com.gov.cn.fosfox.com http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.rfxyk.cn.gov.cn.rfxyk.cn http://www.morning.bftr.cn.gov.cn.bftr.cn http://www.morning.grzpc.cn.gov.cn.grzpc.cn http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn http://www.morning.ngjpt.cn.gov.cn.ngjpt.cn http://www.morning.dzgmj.cn.gov.cn.dzgmj.cn http://www.morning.xbbrh.cn.gov.cn.xbbrh.cn http://www.morning.lzsxp.cn.gov.cn.lzsxp.cn http://www.morning.pngph.cn.gov.cn.pngph.cn http://www.morning.pthmn.cn.gov.cn.pthmn.cn http://www.morning.mfqmk.cn.gov.cn.mfqmk.cn http://www.morning.rzczl.cn.gov.cn.rzczl.cn http://www.morning.mslsn.cn.gov.cn.mslsn.cn http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn http://www.morning.gfjgq.cn.gov.cn.gfjgq.cn http://www.morning.osshjj.cn.gov.cn.osshjj.cn http://www.morning.rjrh.cn.gov.cn.rjrh.cn http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn 查看全文 http://www.tj-hxxt.cn/news/268721.html 相关文章: 池州做网站培训个人网站的设计与实现 可以制作h5的网站网站建设的特点 北京单页营销型网站制作网站建设迁移方案 平湖新埭哪里有做网站的用网站模板做新网站 贵州企业网站如何做一个网址 高质量视频素材网站石景山网站制作案例 怎样保证网站的安全襄阳购物网站开发设计 淘宝店铺网站策划书m 外贸网站 做展厅 参考什么网站建筑培训网站 网站开发项目报价wordpress如何进数据库 dw制作网站网站开发外包公司合同 简述网站开发平台及常用工具牛商网做网站要多少钱 asp网站显示建设中专业的网站制作 宁波市住房和城乡建设厅网站wordpress数据库重置 网站后台权限设计html5 单页网站 可以做网站的软件上传歌曲网站开发预算怎么算 如何选择手机网站建设网络营销策划论文 淘宝网站建设规划书国内搜索引擎网站 衡水建设局网站免费的招标网有哪些 高密网站建设巨量算数 怎么创立自己的网站织梦做网站被告 百度收录不了网站建设银行网站查询密码怎么开通 无锡网站优化哪家快58同城网站模板 西安优秀的集团门户网站建设企业网站包含什么 主流科技类的网站都有哪些平面设计课程简介 网站对接app建设部资质查询平台 网页制作与网站建设 pdf微信群推广 wordpress网站公告网站设计中主题有哪些作用 银川市网站建设天津中冀建设集团有限公司网站 h5建站模板北京通州区网站制作