繁体   English   中英

Tkinter Text小部件组织插入的文本

[英]Tkinter Text widget organizing inserted text

我在Tkinter文本小部件中插入文本时遇到问题。 插入文本后看起来不清晰(来自PostgreSQL的统计数据)。

public    AO_21D670_WHITELIST_RULES  5  |1 |0.16666666666666666667
public    AO_4AEACD_WEBHOOK_DAO  8  |0 |0E-20
public    AO_563AEE_ACTIVITY_ENTITY  8  |0 |0E-20
public    AO_563AEE_ACTOR_ENTITY  3  |0 |0E-20
public    AO_563AEE_MEDIA_LINK_ENTITY  3  |0 |0E-20
public    AO_563AEE_OBJECT_ENTITY  4  |0 |0E-20
public    AO_563AEE_TARGET_ENTITY  4  |0 |0E-20
public    AO_B9A0F0_APPLIED_TEMPLATE  5  |1 |0.16666666666666666667

是否可以编辑“文本小部件”的首选项以按选项卡或其他顺序设置它? 在我的代码中,我尝试仅在从数据库下载的数据之间设置TAB,但是插入的文本看起来像上面的一样。 下面是我将数据插入到文本小部件中的代码:

conn = psycopg2.connect(database=baza, host=host, port=port, user=user, password=password)
    cur = conn.cursor()
    cur.execute("""SELECT datname, numbackends, blks_hit, tup_inserted, tup_updated, tup_deleted, deadlocks, stats_reset
                    FROM pg_stat_database
                    WHERE datname='postgres' """)
    if (bool(cur.rowcount) == True):
        statTextField.insert(INSERT, "pg_stat_database\nDATNAME   NUMBACKENDS    BLKS_HIT    TUP_INSERTED     TUP_UPDATED     TUP_DELETED     DEADLOCKS               STATS_RESET\n")
        for row in cur.fetchall():
            statTextField.insert(INSERT,("%s       %s          %s           %s             %s              %s           %s         %s\n" % (row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])))

我的目标是使插入的文本如下所示:

public    AO_21D670_WHITELIST_RULES     5  |1 |0.16666666666666666667
public    AO_4AEACD_WEBHOOK_DAO         8  |0 |0E-20
public    AO_563AEE_ACTIVITY_ENTITY     8  |0 |0E-20
public    AO_563AEE_ACTOR_ENTITY        3  |0 |0E-20
public    AO_563AEE_MEDIA_LINK_ENTITY   3  |0 |0E-20
public    AO_563AEE_OBJECT_ENTITY       4  |0 |0E-20
public    AO_563AEE_TARGET_ENTITY       4  |0 |0E-20
public    AO_B9A0F0_APPLIED_TEMPLATE    5  |1 |0.16666666666666666667

PS Im对Python有点新知识,如果问题太琐碎,请您谅解。

尝试使用.format()方法。

>>> row
[0, 1, 2, 3, 4, 5, 6, 7]
>>> print("{0:10}{1:30}{2:4}{3:4}{4:4}{5:4}{6:4}{7:4}".format(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])))

其中{}中的第一个数字是参数的数量,第二个数字是空格的长度

输出:

         0                             1   2   3   4   5   6   7

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM