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
    44300
  • 真的黑绷带在哪里买,多少钱能买到

    在挪里买真的黑绷带的价格不一定。因为它的价格需要根据具体购买地点和供需关系等因素综合考虑。一些商家在官方网站或其他平台上进行售卖,提供多样尺寸和价格以供选择。建议您在购买时多询问多比较,在确认质量的前提下寻找更优惠的价格。也可以建议您淘宝等

    2024-04-15
    46100
  • 妮维雅唇膏深蓝色天然款抹在嘴上黏黏糊糊是它融化了吗?我该怎么让它恢复?

    润唇膏主要起到一个补水润唇,缓解嘴唇干燥同时还能软化死皮的作用。与此同时还能淡化唇纹,作为口红打底的效果。润唇膏里面含有得有维生素E能够很好的锁住水分同时还能更好的补水和提高嘴唇的亮度和色泽感。润唇膏的保质期一般是三年,不过对于已经打开使用

    2024-04-15
    37200
  • 在俄罗斯怎么买gucci

    如果你想在俄罗斯买 GUCCI 包包,你可以通过以下几种方式来实现:1前往俄罗斯的 GUCCI 官方旗舰店购买。俄罗斯有多个 GUCCI 官方旗舰店,位于莫斯科、圣彼得堡和其他城市。你可以前往这些店铺,选择你喜欢的包包,并直接购买。2通过俄

    2024-04-15
    35600
  • sk2套装有两瓶水,一瓶乳液怎么使用

    按照你的描述,推测这个套装里的产品应该是:sk2清莹露、神仙水(sk2面部精华液)、sk2乳液。一、使用顺序:先是清莹露,再用神仙水,最后用乳液。二、使用方法1、清莹露的主要功能是软化肌肤肤质、二次清洁、促进后续护肤品吸收;取适量本品于化妆

    2024-04-15
    29300
  • 白云山巧依依美白淡斑菁华乳好用吗

    好用。巧依依美白淡斑菁华乳的祛斑效果是很不错的,在它里面的成分可以帮助肌肤达到美白的效果,也有帮助淡化斑点的效果。如果想要让存在的斑点问题能够更好得到改善,建议在使用的时候就要坚持使用,否则就会因为自己没有坚持使用依露美美白精华霜而导致美白

    2024-04-15
    30100
  • 混合肌精华液推荐 8款必推精华液

    在这炎热的夏天,很容易缺油又缺水的,混合肌T字部位较容易出油、而两颊也会比较干燥,所以常常皮肤会油水不平衡!应该不少混合肌们在挑选保养品的时候,很常会面临到『想改善又不知道从何着手』、『哪一款不会太油也不会太干』等等这些恼人的问题!面对琳

    2024-04-15
    35000

发表评论

登录后才能评论
保存