广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python GUI nicegui初识一(登录界面创建)
  • 728
分享到

python GUI nicegui初识一(登录界面创建)

python开发语言 2023-09-08 11:09:19 728人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

最近尝试了python的nicegui库,虽然可能也有一些不足,但个人感觉对于想要开发不过对ui设计感到很麻烦的人来说是很友好的了,毕竟nicegui可以利用TailwindCSS和Quasar进行ui开发,并且也支持定制自己的css样式。

最近尝试了python的nicegui库,虽然可能也有一些不足,但个人感觉对于想要开发不过对ui设计感到很麻烦的人来说是很友好的了,毕竟nicegui可以利用TailwindCSS和Quasar进行ui开发,并且也支持定制自己的css样式。

这里记录一下自己利用nicegui实现的一个登录的ui界面(并未实现具体功能)

from nicegui import uidef on_log():    # print(label1.text())    value1 = input1.value    value2 = input2.value    print(value1,value2)#log uiimg = ui.image('img\991138.jpg').props("absolute-top text-center").tailwind('h-screen')# with ui.image("img\991138.jpg").props("center no-repeat"):with ui.label('').classes("absolute top-1/4 inset-x-1/3 w-1/3 rounded bg-slate-300 shadow-2xl bg-white opacity-80"):    #使用网格布局才能使text-center生效    with ui.grid():        label1 = ui.label('欢迎访问!').tailwind("text-center text-2xl text-dark my-2")        #发现一个问题,使用tailwind时无法获得控件的值,也就是说tailwind本身作为一个类仅仅起到修改控件        #样式的作用,而且使用后就覆盖了原本的类的自身函数,可以利用.element解决此问题        # input1 = ui.input('账号/邮箱').tailwind('text-blue-700','px-10').element        input1 = ui.input('账号/邮箱').props("outlined").style('color: rgb(37 99 235);padding-left: 2.5rem;padding-right: 2.5rem;')        input2 = ui.input('密码',passWord=True).props("outlined").style('padding-left: 2.5rem;padding-right: 2.5rem;')        #'gap:10em'是CSS中的一种属性值,用于设置元素之间的间距。它表示间距的大小为10个字符的宽度。        # 这个属性通常用于布局调整,可以在水平或垂直方向上增加或减少元素之间的间距。        with ui.row().style('gap:12em'):            link1 = ui.link('忘记密码').tailwind('ml-10 w-1/3 text-left')            link2 = ui.link('注册账号').tailwind('ml-9 text-right')            #单个空间用mx        button1 = ui.button('登录',on_click=on_log).tailwind('mx-10 my-3')# label2 = ui.label('label ').style('color: rgb(37 99 235);padding-left: 2.5rem;padding-right: 2.5rem;')ui.run()

效果:

CSS样式改变

这里主要介绍一下对于每个控件如何改变样式,主要有四种方式:classes,style,tailwind,props

 1.classes方法

功能:应用、删除或替换 html 类,这个可以利用 Tailwind or Quasar给出的参数修改样式

2.style方法

功能:应用、删除或替换 CSS 定义。这个使用需要注意的是里面添加的就是CSS样式。

input1 = ui.input('账号/邮箱').props("outlined").style('color: rgb(37 99 235);padding-left: 2.5rem;padding-right: 2.5rem;')

3.props方法

功能:添加或删除道具。

这允许使用 Quasar 的相关参数修改元素的外观或其布局。 由于 props 只是作为 HTML 属性应用,因此它们可以与任何 HTML 元素一起使用。

如果未指定任何值,则假定布尔属性为 True。

4.tailwind方法

功能:基于Tailwind实现的修改控件CSS样式。使用这个方法时有个问题需要注意,就是会导致原本控件无法使用原有的内置函数和属性,可以利用.element属性恢复控件。

from nicegui import Tailwind, uiui.label('Label A').tailwind.font_weight('extrabold').text_color('blue-600').background_color('orange-200')ui.label('Label B').tailwind('drop-shadow', 'font-bold', 'text-green-600')red_style = Tailwind().text_color('red-600').font_weight('bold')label_c = ui.label('Label C')red_style.apply(label_c)ui.label('Label D').tailwind(red_style)ui.run()

总之,利用nicegui我们无需在过多关注于ui的样式设计,能够快速利用现有的样式开发出自己的网页app。

参考网站:

NiceGUI

Height - TailwindCSS中文文档 | TailwindCSS中文网输入 | Quasar Framework 中文网 (quasarchs.com)

来源地址:https://blog.csdn.net/zhaodongdz/article/details/132101088

--结束END--

本文标题: python GUI nicegui初识一(登录界面创建)

本文链接: https://www.lsjlt.com/news/399799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作