python tkinter grid布局显示问题求助

python tkinter grid布局显示问题求助,第1张

什么时候使用Grid管理器

grid管理器是Tkinter里面最灵活的几何管理布局器。如果你不确定什么情况下从三种布局管理中选择,你至少要保证自己会使用grid。

当你设计对话框的时候,grid布局管理器是一个非常方便的工具。如果你之前使用pack进行布局的话,你会被使用grid后的简洁而震惊。与适应很多frame来让pack工作不同,在大多数情况下,你只需要将所有控件放置到容器中,然后使用grid将它们布局到任何你想要布局的地方。

参考下面这个例子:

使用pack进行布局的话,你不得不使用一些额外的frame控件,而且还需要花费一些功夫让他们变得好看。如果你使用grid的话,你只需要对每个控件使用grid,所有的东西都会以合适的方式显示。

注意:不要试图在一个主窗口中混合使用pack和grid。

使用grid进行布局管理非常容易。只需要创建控件,然后使用grid方法去告诉布局管理器在合适的行和列去显示它们。你不用事先指定每个网格的大小,布局管理器会自动根据里面的控件进行调节。

from Tkinter import

master = Tk()

Label(master, text="First")grid(row=0)

Label(master, text="Second")grid(row=1)

e1 = Entry(master)

e2 = Entry(master)

e1grid(row=0, column=1)

e2grid(row=1, column=1)

mainloop()

运行如下图所示:

label1占据0行0列,label2占据1行0列,entry1占据0行1列,entry2占据1行1列。

注意:1在使用grid方法时,如果不指定column参数,则默认从0开始。

2没有被使用的行和列号将被忽略,在上面的例子中如果使用10行和20行,则运行效果是一样的。

使用sticky参数

默认的空间会在网格中居中显示。你可以使用sticky选项去指定对齐方式,可以选择的值有:N/S/E/W,分别代表上/下/左/右。如果你想让label靠左显示,你可以设置stricky的值为W。

from Tkinter import

master = Tk()

Label(master, text="First")grid(row=0, sticky=W)

Label(master, text="Second")grid(row=1, sticky=w)

e1 = Entry(master)

e2 = Entry(master)

e1grid(row=0, column=1)

e2grid(row=1, column=1)

mainloop()

运行效果如下图:

你同样可以指定控件跨越一个或者多个网格。columnspan选项可以指定控件跨越多列显示,而rowspan选项同样可以指定控件跨越多行显示。

下面的代码创建了我们最初演示的示意图:

from Tkinter import

master = Tk()

var = IntVar()

Label(master, text="First")grid(sticky=E)

Label(master, text="Second")grid(sticky=E)

e1 = Entry(master)

e2 = Entry(master)

e1grid(row=0, column=1)

e2grid(row=1, column=1)

checkbutton = Checkbutton(master, text='Preserve aspect', variable=var)

checkbuttongrid(columnspan=2, sticky=W)

photo = PhotoImage(file='2qqgif')

label = Label(image=photo)

labelimage = photo

labelgrid(row=0, column=2, columnspan=2, rowspan=2, sticky=W+E+N+S, padx=5, pady=5)

button1 = Button(master, text='Zoom in')

button1grid(row=2, column=2)

button2 = Button(master, text='Zoom out')

button2grid(row=2, column=3)

mainloop()

运行效果如下图:

在这段代码中,有一些细节需要注意:

1 我们没有为左边的两个label控件指定具体的位置,在这种情况下,column将会从0开始,而row将会从第一个没有使用的值开始。

2 我们队checkbutton设置了columnspan参数,所以它会显示在第二行,并占据第0和1列。

3 图像label占用了2行2列,而最后的两个button都只占用了1列。

望采纳

对主表的MasterRowExpanded事件编程。代码大致如下:

void gridView_MasterRowExpanded(object sender, CustomMasterRowEventArgs e)

{

GridView gridViewMaster = sender as GridView;

GridView gridViewDetail = gridViewMasterGetDetailView(eRowHandle, eRelationIndex) as GridView;

gridViewDetailBeginUpdate();

gridViewDetailColumns["BomDetailNoID"]Visible = false;

gridViewDetailColumns["BomDetailNoID"]OptionsColumnShowInCustomizationForm = false;

gridViewDetailEndUpdate();

}

希望对你有用 ;}

master key password

密钥密码

例句

1

If a Master Key is defined for an attachable subscription database, specify the Master Key password using the

如果为可附加的订阅数据库定义了主密钥,请用

2

Returns a row for each database master key password added by using the

存储过程添加的每个数据库主密钥密码返回一行。

3

Database master key, and saves the master key password as the secret in the credential

数据库主密钥创建凭据,并将主密钥密码作为机密内容存储在凭据中。

4

Because this master key is not encrypted by the service master key , a password must be specified when it is opened

由于该主密钥未使用服务主密钥进行加密,因此必须指定密码才能将其打开。

5

But if the master key is encrypted only with a password, it must be explicitly opened

但如果主密钥仅使用密码进行加密,则必须显式打开。

6

Afterward, you must explicitly open the Database Master Key with a password

然后,必须显式打开带密码的数据库主密钥。

用grid布局,布局示例:

#! /usr/bin/env python

# -- coding: utf-8 --

import Tkinter as tk

class TestUI(object):

    def __init__(self, master):

        selfroot = master

        selfcreate_frame()

    def create_frame(self):

        '''

        create frame,left and right

        '''

        selffrm_left = tkLabelFrame(selfroot)

        selffrm_right = tkLabelFrame(selfroot)

        selffrm_leftgrid(row=0, column=0, sticky="wesn")

        selffrm_rightgrid(row=0, column=1, sticky="wesn")

        selfcreate_frm_left()

        selfcreate_frm_right()

    def create_frm_left(self):

        selffrm_left_label = tkLabel(selffrm_left,

                                       text="Test")

        selffrm_left_listbox = tkListbox(selffrm_left)

        selffrm_left_btn = tkButton(selffrm_left,

                                      text="Test")

        selffrm_left_labelgrid(row=0, column=0, padx=5, pady=5, sticky="w")

        selffrm_left_listboxgrid(

            row=1, column=0, padx=5, pady=5, sticky="wesn")

        selffrm_left_btngrid(row=2, column=0, padx=5, pady=5, sticky="wesn")

        for i in range(5):

            selffrm_left_listboxinsert("end", i)

    def create_frm_right(self):

        selffrm_right_canvas = tkCanvas(selffrm_right, bg="white")

        selffrm_right_canvasgrid(row=0, column=0, padx=5, pady=5, sticky="wesn")

if __name__ == '__main__':

    '''

    main loop

    '''

    root = tkTk()

    roottitle("Test")

    TestUI(master=root)

    rootresizable(False, False)

    rootmainloop()

Slave_SQL_Running: No mysql同步故障解决

如果数据不同步可以尝试该资料

mysql> show slave status\G

Slave_IO_Running: Yes

Slave_SQL_Running: No

Last_Errno: 1062

Seconds_Behind_Master:NULL

原因:

1程序可能在slave上进行了写操作

2也可能是slave机器重起后,事务回滚造成的

解决办法I:

1首先停掉Slave服务:slave stop

2到主服务器上查看主机状态:

记录File和Position对应的值。

mysql> show master status;

+------------------+-----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+-----------+--------------+------------------+

| mysql-bin000020 | 135617781 | | |

+------------------+-----------+--------------+------------------+

1 row in set (000 sec)

3到slave服务器上执行手动同步:

mysql> change master to

> master_host='master_ip',

> master_user='user',

> master_password='pwd',

> master_port=3307,

> master_log_file='mysql-bin000020',

> master_log_pos=135617781;

1 row in set (000 sec)

mysql> slave start;

1 row in set (000 sec)

再次查看slave状态发现:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master: 0

解决办法II:

mysql> slave stop;

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql> slave start;

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/meirong/3301978.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2024-02-16
下一篇2024-02-16

随机推荐

  • 怀孕护肤品有哪些牌子?

    爱美之心人皆有之,孕期也要美美哒。在孕期除了要感受身体里小生命的一举一动之外,孕妈妈也要注意对自己肌肤的保养哦,不希望做了妈妈之后变粗糙的、就要开始使用孕期也能使用的一些护肤品吧:呼吸蓝色套装 我闺蜜在备孕期间就换了整套护肤品

    2024-04-15
    1061700
  • 莱珀妮鱼子酱精华真假

    莱珀妮鱼子酱精华是一款非常受欢迎的美容产品,它所使用的成分包括鲟鱼子和珍珠等天然提取物,被誉为能够改善肌肤质量、提升肌肤光泽度的神奇产品。对于这款产品,关心它真假问题的人们很多,我们从以下几个角度来回答大家的疑问。我们需要知道莱珀妮鱼子酱精

    2024-04-15
    67600
  • 好用平价防晒霜推荐 比较好用的平价防晒霜

    想要美白,防晒功课是不可缺少的。选防晒霜时,除了参考价格,不油腻也是很重要的一点。本人是混合皮,在这方面也做了很多功课。今天,就来给姐妹们推荐5款平价又好用的防晒霜,它们均价在100元内,性价比非常高,如果适合自己的肤质,就值得入手~1、新

    2024-04-15
    57000
  • 娇兰和雅诗兰黛哪个好?雅诗兰黛哪些产品好用?

    雅诗兰黛大家应该并不陌生,他家的气垫BB,粉底液,口红,眼霜和精华都挺出名的,价格也适中,很多人都能接受。但是,娇兰是贵妇级的,有着悠久的历史,以香水起家,护肤品和彩妆都很出名,其中一个黑兰面霜八千多块,并不是很多人都能接受的。1、娇兰和雅

    2024-04-15
    60600
  • whoo后秘贴精华好用吗?那么该如何使用whoo后秘贴精华?

    Whoo post秘密贴纸精华好用吗?whoo秘贴循环精华whoo后秘贴精华所使用的主要成分是有寡肽-4、人参根提取物、姜根提取物等。寡肽-4可以直接被皮肤吸收,快速帮助皮肤补充胶原蛋白,也可以很 好的。 调理皮肤,有效促进皮肤新陈代谢,刺

    2024-04-15
    42100
  • 补水喷雾和保湿精华液哪个好用?

    补水喷雾和保湿精华液都是最基础的护肤补水喷雾可以很好的补水保湿同时二次清洁洁肤,打开肌肤通道精华的浓度比补水喷雾的高,同时用完补水喷雾后再用精华,护肤可以达到翻倍的效果,所以精华比喷雾贵,喷雾做打底滋润肌肤,精华是更好的渗透到肌肤的深层,让

    2024-04-15
    44100
  • 什么补水喷雾好?

    1 妮维雅娇柔爽肤水(粉)49元:的确是很好用的一款 拍到脸上 润润的 不含酒精 也很耐用呢 不错不错(摇后泡沫细腻丰富,厚厚的一层而且经久不消。泡泡少说明营养成分少,泡泡多但大说明含有水杨酸,洁肤效果好但敏感肌肤尽量不要用,泡泡多且细但很

    2024-04-15
    38700

发表评论

登录后才能评论
保存