Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.037USD
STEEM
0.000STEEM
SBD
0.019SBD
Effective Power
5.007SP
├── Own SP
0.630SP
└── Incoming Deleg
+4.377SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.630SP
Delegated Out
0.000SP
Delegation In
4.377SP
Effective Power
5.007SP
Reward SP (pending)
0.005SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.019SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1024.400983 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7119.258823 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.019 SBD",
  "conversions": []
}

Account Info

namelaopihao
id561682
rank528,808
reputation158512330
created2018-01-04T18:02:45
recovery_accountsteem
proxyNone
post_count13
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-02-14T16:13:57
last_root_post2018-02-12T12:33:03
last_vote_time2018-02-14T16:17:09
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1024.400983 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7119.258823 VESTS
reward_vesting_balance10.232087 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-01-30T14:00:18
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM6MNCwXRdnB5UJE1e4nCnN31Q7UmiUZbdmdX8VJnnbPkyaabue1",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "balance": "0.000 STEEM",
  "can_vote": true,
  "comment_count": 0,
  "created": "2018-01-04T18:02:45",
  "curation_rewards": 0,
  "delegated_vesting_shares": "0.000000 VESTS",
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779072453
  },
  "guest_bloggers": [],
  "id": 561682,
  "json_metadata": "",
  "last_account_recovery": "1970-01-01T00:00:00",
  "last_account_update": "2018-01-30T14:00:18",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_post": "2018-02-14T16:13:57",
  "last_root_post": "2018-02-12T12:33:03",
  "last_vote_time": "2018-02-14T16:17:09",
  "lifetime_vote_count": 0,
  "market_history": [],
  "memo_key": "STM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61",
  "mined": false,
  "name": "laopihao",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "other_history": [],
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM5YLGAyyz4xCXG9QBUvFCZoqjKNkVYY8EcCKNGaLnMgkxagoJAx",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "pending_claimed_accounts": 0,
  "post_bandwidth": 0,
  "post_count": 13,
  "post_history": [],
  "posting": {
    "account_auths": [
      [
        "busy.app",
        1
      ],
      [
        "dmania.app",
        1
      ],
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD8",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting_json_metadata": "",
  "posting_rewards": 9,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "proxy": "",
  "received_vesting_shares": "7119.258823 VESTS",
  "recovery_account": "steem",
  "reputation": 158512330,
  "reset_account": "null",
  "reward_sbd_balance": "0.019 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "10.232087 VESTS",
  "reward_vesting_steem": "0.005 STEEM",
  "savings_balance": "0.000 STEEM",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "sbd_balance": "0.000 SBD",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "tags_usage": [],
  "to_withdraw": 0,
  "transfer_history": [],
  "vesting_balance": "0.000 STEEM",
  "vesting_shares": "1024.400983 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "vote_history": [],
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779072453
  },
  "voting_power": 0,
  "withdraw_routes": 0,
  "withdrawn": 0,
  "witness_votes": [],
  "witnesses_voted_for": 0,
  "rank": 528808
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.377 SP to @laopihao
2026/05/18 02:47:33
delegatorsteem
delegateelaopihao
vesting shares7119.258823 VESTS
Transaction InfoBlock #106146481/Trx 845f059c5720f90e9ec883eb2ca6c2ad7550475a
View Raw JSON Data
{
  "trx_id": "845f059c5720f90e9ec883eb2ca6c2ad7550475a",
  "block": 106146481,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-18T02:47:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "7119.258823 VESTS"
    }
  ]
}
steemdelegated 2.710 SP to @laopihao
2026/05/12 14:06:27
delegatorsteem
delegateelaopihao
vesting shares4407.048418 VESTS
Transaction InfoBlock #105988005/Trx 6b4582e7f9ca898c4220ce43428ef9bf76cc2a73
View Raw JSON Data
{
  "trx_id": "6b4582e7f9ca898c4220ce43428ef9bf76cc2a73",
  "block": 105988005,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-12T14:06:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "4407.048418 VESTS"
    }
  ]
}
steemdelegated 4.385 SP to @laopihao
2026/04/26 02:04:33
delegatorsteem
delegateelaopihao
vesting shares7131.774579 VESTS
Transaction InfoBlock #105514062/Trx 6007de23b8b544a71610be7a8c9f33162b9b0a29
View Raw JSON Data
{
  "trx_id": "6007de23b8b544a71610be7a8c9f33162b9b0a29",
  "block": 105514062,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-26T02:04:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "7131.774579 VESTS"
    }
  ]
}
steemdelegated 2.735 SP to @laopihao
2026/01/23 14:36:00
delegatorsteem
delegateelaopihao
vesting shares4448.595237 VESTS
Transaction InfoBlock #102859957/Trx 7862638e3bd69b5b9b03094d7d99e1047306d69d
View Raw JSON Data
{
  "trx_id": "7862638e3bd69b5b9b03094d7d99e1047306d69d",
  "block": 102859957,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T14:36:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "4448.595237 VESTS"
    }
  ]
}
steemdelegated 2.836 SP to @laopihao
2024/12/17 09:50:33
delegatorsteem
delegateelaopihao
vesting shares4612.814434 VESTS
Transaction InfoBlock #91306260/Trx d6728c6dc13ccc1cd32bb6b56649d4fa7f048081
View Raw JSON Data
{
  "trx_id": "d6728c6dc13ccc1cd32bb6b56649d4fa7f048081",
  "block": 91306260,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T09:50:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "4612.814434 VESTS"
    }
  ]
}
steemdelegated 2.940 SP to @laopihao
2023/11/14 01:32:33
delegatorsteem
delegateelaopihao
vesting shares4781.947966 VESTS
Transaction InfoBlock #79860442/Trx b7233869bcb3b7be5a9237fcef9f9f8e404f7cbc
View Raw JSON Data
{
  "trx_id": "b7233869bcb3b7be5a9237fcef9f9f8e404f7cbc",
  "block": 79860442,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-14T01:32:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "4781.947966 VESTS"
    }
  ]
}
steemdelegated 4.746 SP to @laopihao
2023/09/22 00:48:57
delegatorsteem
delegateelaopihao
vesting shares7719.226752 VESTS
Transaction InfoBlock #78351402/Trx 981e09592f9767c8a9bfec6fc392f74995bf16d2
View Raw JSON Data
{
  "trx_id": "981e09592f9767c8a9bfec6fc392f74995bf16d2",
  "block": 78351402,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-22T00:48:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "7719.226752 VESTS"
    }
  ]
}
steemdelegated 4.882 SP to @laopihao
2022/11/03 14:14:21
delegatorsteem
delegateelaopihao
vesting shares7940.908190 VESTS
Transaction InfoBlock #69116288/Trx 274de17245a443174f61fb1577197eb32c60ad89
View Raw JSON Data
{
  "trx_id": "274de17245a443174f61fb1577197eb32c60ad89",
  "block": 69116288,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T14:14:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "7940.908190 VESTS"
    }
  ]
}
steemdelegated 5.018 SP to @laopihao
2022/01/17 17:33:12
delegatorsteem
delegateelaopihao
vesting shares8161.143326 VESTS
Transaction InfoBlock #60817292/Trx 2df3d26484f7621728198b89a3771fb24c916b64
View Raw JSON Data
{
  "trx_id": "2df3d26484f7621728198b89a3771fb24c916b64",
  "block": 60817292,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T17:33:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8161.143326 VESTS"
    }
  ]
}
steemdelegated 5.131 SP to @laopihao
2021/06/14 03:06:18
delegatorsteem
delegateelaopihao
vesting shares8345.210079 VESTS
Transaction InfoBlock #54610456/Trx 5558d799fb400976c8dc711df95f3568613c33ce
View Raw JSON Data
{
  "trx_id": "5558d799fb400976c8dc711df95f3568613c33ce",
  "block": 54610456,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T03:06:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8345.210079 VESTS"
    }
  ]
}
steemdelegated 5.246 SP to @laopihao
2020/12/11 13:22:18
delegatorsteem
delegateelaopihao
vesting shares8532.632053 VESTS
Transaction InfoBlock #49357830/Trx 7c11d49f4f9947df0425d932d8cedbbbc58627aa
View Raw JSON Data
{
  "trx_id": "7c11d49f4f9947df0425d932d8cedbbbc58627aa",
  "block": 49357830,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T13:22:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8532.632053 VESTS"
    }
  ]
}
steemdelegated 1.176 SP to @laopihao
2020/12/06 06:58:48
delegatorsteem
delegateelaopihao
vesting shares1912.543513 VESTS
Transaction InfoBlock #49209377/Trx 337e6076781d7ee61d51ec47cb8d6a52b1ae2b90
View Raw JSON Data
{
  "trx_id": "337e6076781d7ee61d51ec47cb8d6a52b1ae2b90",
  "block": 49209377,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T06:58:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.250 SP to @laopihao
2020/12/05 17:00:12
delegatorsteem
delegateelaopihao
vesting shares8538.839907 VESTS
Transaction InfoBlock #49192919/Trx 3c10895e47d514a75f5d6f60ed1e02abf07ff99f
View Raw JSON Data
{
  "trx_id": "3c10895e47d514a75f5d6f60ed1e02abf07ff99f",
  "block": 49192919,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T17:00:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8538.839907 VESTS"
    }
  ]
}
steemdelegated 1.180 SP to @laopihao
2020/11/02 20:18:30
delegatorsteem
delegateelaopihao
vesting shares1920.017158 VESTS
Transaction InfoBlock #48263301/Trx cb8dc981a4b92752ed04bbe00386ec019a7a7562
View Raw JSON Data
{
  "trx_id": "cb8dc981a4b92752ed04bbe00386ec019a7a7562",
  "block": 48263301,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T20:18:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.375 SP to @laopihao
2020/05/09 07:58:36
delegatorsteem
delegateelaopihao
vesting shares8741.645266 VESTS
Transaction InfoBlock #43219658/Trx fa89d360f625dea951245e5a188569b863813382
View Raw JSON Data
{
  "trx_id": "fa89d360f625dea951245e5a188569b863813382",
  "block": 43219658,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T07:58:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8741.645266 VESTS"
    }
  ]
}
steemdelegated 1.201 SP to @laopihao
2020/05/08 11:54:54
delegatorsteem
delegateelaopihao
vesting shares1953.311140 VESTS
Transaction InfoBlock #43196148/Trx 9d756804526c34c98cb4b614956e408dc937ba3b
View Raw JSON Data
{
  "trx_id": "9d756804526c34c98cb4b614956e408dc937ba3b",
  "block": 43196148,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T11:54:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.382 SP to @laopihao
2020/04/17 15:24:15
delegatorsteem
delegateelaopihao
vesting shares8753.673440 VESTS
Transaction InfoBlock #42611107/Trx 7ea2c9d68a1605344657cf409c2b7cae134f6e51
View Raw JSON Data
{
  "trx_id": "7ea2c9d68a1605344657cf409c2b7cae134f6e51",
  "block": 42611107,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-04-17T15:24:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8753.673440 VESTS"
    }
  ]
}
2020/01/04 18:51:45
parent authorlaopihao
parent permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
authorsteemitboard
permlinksteemitboard-notify-laopihao-20200104t185145000z
title
bodyCongratulations @laopihao! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@laopihao/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@laopihao) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=laopihao)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #39641173/Trx 9d7080214533fceafa33e364129ce1a7896f2a36
View Raw JSON Data
{
  "trx_id": "9d7080214533fceafa33e364129ce1a7896f2a36",
  "block": 39641173,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-01-04T18:51:45",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-laopihao-20200104t185145000z",
      "title": "",
      "body": "Congratulations @laopihao! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@laopihao/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@laopihao) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=laopihao)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.502 SP to @laopihao
2019/05/14 06:02:48
delegatorsteem
delegateelaopihao
vesting shares8949.255187 VESTS
Transaction InfoBlock #32892435/Trx 11e5380f1f39acbec8c61a7e2af87ca7b2286506
View Raw JSON Data
{
  "trx_id": "11e5380f1f39acbec8c61a7e2af87ca7b2286506",
  "block": 32892435,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-05-14T06:02:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "8949.255187 VESTS"
    }
  ]
}
2019/01/04 19:25:48
parent authorlaopihao
parent permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
authorsteemitboard
permlinksteemitboard-notify-laopihao-20190104t192548000z
title
bodyCongratulations @laopihao! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@laopihao/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@laopihao)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #29168751/Trx 92421405dd992ab42abfedc3e8a50fd6c4ec53e9
View Raw JSON Data
{
  "trx_id": "92421405dd992ab42abfedc3e8a50fd6c4ec53e9",
  "block": 29168751,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-01-04T19:25:48",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-laopihao-20190104t192548000z",
      "title": "",
      "body": "Congratulations @laopihao! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@laopihao/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@laopihao)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.625 SP to @laopihao
2018/05/18 20:00:00
delegatorsteem
delegateelaopihao
vesting shares9148.772325 VESTS
Transaction InfoBlock #22547091/Trx 01eaddd13d8861aa5f70b814a651821f475d2d0c
View Raw JSON Data
{
  "trx_id": "01eaddd13d8861aa5f70b814a651821f475d2d0c",
  "block": 22547091,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-18T20:00:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "9148.772325 VESTS"
    }
  ]
}
2018/02/19 12:33:03
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
sbd payout0.004 SBD
steem payout0.000 STEEM
vesting payout4.088148 VESTS
Transaction InfoBlock #20006323/Virtual Operation #6
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 20006323,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 6,
  "timestamp": "2018-02-19T12:33:03",
  "op": [
    "author_reward",
    {
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "sbd_payout": "0.004 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "4.088148 VESTS"
    }
  ]
}
utopian.payreceived 0.001 SP benefactor reward from @laopihao
2018/02/19 12:33:03
benefactorutopian.pay
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout2.044074 VESTS
Transaction InfoBlock #20006323/Virtual Operation #5
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 20006323,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 5,
  "timestamp": "2018-02-19T12:33:03",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "2.044074 VESTS"
    }
  ]
}
2018/02/16 12:13:48
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit. #### What Will I Learn? - How to create a running GUI application - How to use Label widget #### Requirements - Basic knowledge of programming - Python 3.5+ - A text editor #### Difficulty - Basic #### Tutorial ##### 1. Create a window Here, we show how simple it is to create a very basic window in just 4 lines. ```python import tkinter as tk app = tk.Tk() app.title("First GUI") app.mainloop() ``` We import the tkinter module and alias it as tk and create instance app.The title is "First GUI". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. Under Windows it appears in the Windows look and feel: ![t1.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg) An event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends. #### 2. Adding a label to the GUI form A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow: ```python import tkinter as tk app = tk.Tk() app.title("first GUI") #The keyword parameter "text" specifies the text to be shown: theLable = tk.Label(app, text="Hello Steemians!") #The pack method tells Tk to fit the size of the window. theLable.pack() app.mainloop() ``` Running the code: ![t2.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg) 2.1 Set the size If you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. ```python theLable = tk.Label(app, text="Hello Steemians!",width=30,height=10) ``` It produces the following result: ![t5.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg) 2.2 Set the color You can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. ``` python theLable = tk.Label(app, text="Hello Steemians!", width=30,height=10, fg="blue",bg="orange") ``` It produces the following result: ![t6.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg) You can use any locally defined standard color name. The colors "white", "black", "red", "green", "blue", "cyan", "yellow", and "magenta" will always be available. You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html). 2.3 Set the fonts The label allow you to specify the fonts used to display text. This can be achieved by setting the attribute "font".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike. Examples: - ("Arial", "18") for a 18-point Arial regular; - ("Times", "20", "bold italic") for a 20-point Times bold italic. code: ``` python theLable = tk.Label(app, text="Hello Steemians!", width=20,height=5, fg="blue",bg="orange", font=("Times", "40", "bold italic") ) ``` result: ![t7.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg) ##### 3. Adding Images in Labels As we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image. ```python import tkinter as tk import time app = tk.Tk() app.title("Hello") myImage = tk.PhotoImage(file="hello.gif") imageLable=tk.Label(app, compound = tk.TOP, image=myImage, text="Hello Steemians!", fg="white",bg="black", font=("Times", "30", "bold"), ) imageLable.pack() app.mainloop() ``` The PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL). The option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are: text: display text only image: display image only top, bottom, left, right: display image above, below, left of, or right of the text, respectively. none: the default. display the image if present, otherwise the text. The result looks like this: ![t8.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg) Congratulations! you get a tool for making memes.This tool does not look very good, we will improve later. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":81598961,"name":"cpython","full_name":"python/cpython","html_url":"https://github.com/python/cpython","fork":false,"owner":{"login":"python"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"moderator":{"account":"roj","time":"2018-02-14T15:18:30.439Z","flagged":true,"reviewed":false,"pending":false},"questions":null,"score":null}
Transaction InfoBlock #19919566/Trx 4712c736155933314f6a1fd3a23304120177124d
View Raw JSON Data
{
  "trx_id": "4712c736155933314f6a1fd3a23304120177124d",
  "block": 19919566,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T12:13:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "\nI shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.\n#### What Will I Learn?\n\n- How to create a running GUI application\n- How to use Label widget\n\n#### Requirements\n\n-  Basic knowledge of programming\n-  Python 3.5+\n-  A text editor\n\n\n#### Difficulty\n- Basic\n\n#### Tutorial\n\n##### 1. Create a window\nHere, we show how simple it is to create a very basic window in just 4 lines.\n```python\nimport tkinter as tk\napp = tk.Tk()\napp.title(\"First GUI\")\napp.mainloop()\n```\n\nWe import the tkinter module and alias it as tk and create instance app.The title is \"First GUI\". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. \nUnder Windows it appears in the Windows look and feel:\n\n![t1.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg)\n\n\n\nAn event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends.\n\n#### 2. Adding a label to the GUI form\n A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow:\n```python\n    import tkinter as tk\n    app = tk.Tk()\n    app.title(\"first GUI\")\n    #The keyword parameter \"text\" specifies the text to be shown:\n    theLable = tk.Label(app, text=\"Hello Steemians!\")\n    #The pack method tells Tk to fit the size of the window.\n    theLable.pack() \n    app.mainloop()\n```\nRunning the code:\n\n![t2.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg)\n\n\n2.1 Set the size\n \nIf you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. \n```python   \n    theLable = tk.Label(app, text=\"Hello Steemians!\",width=30,height=10)\n```\n It produces the following result:\n\n![t5.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg)\n\n\n2.2 Set the color\n\nYou can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. \n``` python\ntheLable = tk.Label(app, text=\"Hello Steemians!\",\n                                            width=30,height=10,\n                                            fg=\"blue\",bg=\"orange\")\n```\n    \n\nIt produces the following result:\n\n![t6.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg)\n\n\n You can use any locally defined standard color name. The colors \"white\", \"black\", \"red\", \"green\", \"blue\", \"cyan\", \"yellow\", and \"magenta\" will always be available.  You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html).\n\n2.3 Set the fonts\n\nThe label allow you to specify the fonts used to display text. This can be achieved by setting the attribute \"font\".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike.\n\nExamples:\n - (\"Arial\", \"18\") for a 18-point Arial regular; \n - (\"Times\", \"20\", \"bold italic\") for a 20-point Times bold italic.\n\ncode: \n``` python\ntheLable = tk.Label(app, text=\"Hello Steemians!\",\n                                            width=20,height=5,\n                                            fg=\"blue\",bg=\"orange\",\n                                            font=(\"Times\", \"40\", \"bold italic\")\n                                             )\n```\n    \n    \nresult:\n\n![t7.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg)\n\n\n\n\n\n##### 3. Adding Images in Labels\n\nAs we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image.\n```python\nimport tkinter as tk\nimport time\napp = tk.Tk()\napp.title(\"Hello\")\nmyImage = tk.PhotoImage(file=\"hello.gif\")\nimageLable=tk.Label(app,\n                                                 compound = tk.TOP,\n                                                 image=myImage,\n                                                 text=\"Hello Steemians!\",\n                                                 fg=\"white\",bg=\"black\",\n                                                 font=(\"Times\", \"30\", \"bold\"),\n                                                 )\nimageLable.pack()\napp.mainloop()\n```\nThe PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL).\n\nThe option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are:\n\ntext: display text only\nimage: display image only\ntop, bottom, left, right: display image above, below, left of, or right of the text, respectively.\nnone: the default. display the image if present, otherwise the text.\n\nThe result looks like this: \n\n![t8.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg)\n\n\n\nCongratulations! you get a tool  for making memes.This tool does not look very good, we will improve later.\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":81598961,\"name\":\"cpython\",\"full_name\":\"python/cpython\",\"html_url\":\"https://github.com/python/cpython\",\"fork\":false,\"owner\":{\"login\":\"python\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"moderator\":{\"account\":\"roj\",\"time\":\"2018-02-14T15:18:30.439Z\",\"flagged\":true,\"reviewed\":false,\"pending\":false},\"questions\":null,\"score\":null}"
    }
  ]
}
2018/02/16 12:05:42
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body@@ -1,20 +1,5 @@ %0A -Hello Utopians. I sh
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":81598961,"name":"cpython","full_name":"python/cpython","html_url":"https://github.com/python/cpython","fork":false,"owner":{"login":"python"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"]}
Transaction InfoBlock #19919404/Trx e32bb1deb575ffd2aedbe5d0dbd69ef70f93a016
View Raw JSON Data
{
  "trx_id": "e32bb1deb575ffd2aedbe5d0dbd69ef70f93a016",
  "block": 19919404,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-16T12:05:42",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "@@ -1,20 +1,5 @@\n %0A\n-Hello Utopians.\n I sh\n",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":81598961,\"name\":\"cpython\",\"full_name\":\"python/cpython\",\"html_url\":\"https://github.com/python/cpython\",\"fork\":false,\"owner\":{\"login\":\"python\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"]}"
    }
  ]
}
2018/02/14 18:08:18
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body Hello Utopians.I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit. #### What Will I Learn? - How to create a running GUI application - How to use Label widget #### Requirements - Basic knowledge of programming - Python 3.5+ - A text editor #### Difficulty - Basic #### Tutorial ##### 1. Create a window Here, we show how simple it is to create a very basic window in just 4 lines. ```python import tkinter as tk app = tk.Tk() app.title("First GUI") app.mainloop() ``` We import the tkinter module and alias it as tk and create instance app.The title is "First GUI". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. Under Windows it appears in the Windows look and feel: ![t1.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg) An event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends. #### 2. Adding a label to the GUI form A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow: ```python import tkinter as tk app = tk.Tk() app.title("first GUI") #The keyword parameter "text" specifies the text to be shown: theLable = tk.Label(app, text="Hello Steemians!") #The pack method tells Tk to fit the size of the window. theLable.pack() app.mainloop() ``` Running the code: ![t2.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg) 2.1 Set the size If you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. ```python theLable = tk.Label(app, text="Hello Steemians!",width=30,height=10) ``` It produces the following result: ![t5.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg) 2.2 Set the color You can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. ``` python theLable = tk.Label(app, text="Hello Steemians!", width=30,height=10, fg="blue",bg="orange") ``` It produces the following result: ![t6.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg) You can use any locally defined standard color name. The colors "white", "black", "red", "green", "blue", "cyan", "yellow", and "magenta" will always be available. You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html). 2.3 Set the fonts The label allow you to specify the fonts used to display text. This can be achieved by setting the attribute "font".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike. Examples: - ("Arial", "18") for a 18-point Arial regular; - ("Times", "20", "bold italic") for a 20-point Times bold italic. code: ``` python theLable = tk.Label(app, text="Hello Steemians!", width=20,height=5, fg="blue",bg="orange", font=("Times", "40", "bold italic") ) ``` result: ![t7.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg) ##### 3. Adding Images in Labels As we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image. ```python import tkinter as tk import time app = tk.Tk() app.title("Hello") myImage = tk.PhotoImage(file="hello.gif") imageLable=tk.Label(app, compound = tk.TOP, image=myImage, text="Hello Steemians!", fg="white",bg="black", font=("Times", "30", "bold"), ) imageLable.pack() app.mainloop() ``` The PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL). The option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are: text: display text only image: display image only top, bottom, left, right: display image above, below, left of, or right of the text, respectively. none: the default. display the image if present, otherwise the text. The result looks like this: ![t8.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg) Congratulations! you get a tool for making memes.This tool does not look very good, we will improve later. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":81598961,"name":"cpython","full_name":"python/cpython","html_url":"https://github.com/python/cpython","fork":false,"owner":{"login":"python"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"moderator":{"account":"roj","time":"2018-02-14T15:18:30.439Z","flagged":true,"reviewed":false,"pending":false}}
Transaction InfoBlock #19869100/Trx 34423f31b511643fc85b2e30f01e00754c67cab3
View Raw JSON Data
{
  "trx_id": "34423f31b511643fc85b2e30f01e00754c67cab3",
  "block": 19869100,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T18:08:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "\nHello Utopians.I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.\n#### What Will I Learn?\n\n- How to create a running GUI application\n- How to use Label widget\n\n#### Requirements\n\n-  Basic knowledge of programming\n-  Python 3.5+\n-  A text editor\n\n\n#### Difficulty\n- Basic\n\n#### Tutorial\n\n##### 1. Create a window\nHere, we show how simple it is to create a very basic window in just 4 lines.\n```python\nimport tkinter as tk\napp = tk.Tk()\napp.title(\"First GUI\")\napp.mainloop()\n```\n\nWe import the tkinter module and alias it as tk and create instance app.The title is \"First GUI\". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. \nUnder Windows it appears in the Windows look and feel:\n\n![t1.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg)\n\n\n\nAn event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends.\n\n#### 2. Adding a label to the GUI form\n A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow:\n```python\n    import tkinter as tk\n    app = tk.Tk()\n    app.title(\"first GUI\")\n    #The keyword parameter \"text\" specifies the text to be shown:\n    theLable = tk.Label(app, text=\"Hello Steemians!\")\n    #The pack method tells Tk to fit the size of the window.\n    theLable.pack() \n    app.mainloop()\n```\nRunning the code:\n\n![t2.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg)\n\n\n2.1 Set the size\n \nIf you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. \n```python   \n    theLable = tk.Label(app, text=\"Hello Steemians!\",width=30,height=10)\n```\n It produces the following result:\n\n![t5.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg)\n\n\n2.2 Set the color\n\nYou can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. \n``` python\ntheLable = tk.Label(app, text=\"Hello Steemians!\",\n                                            width=30,height=10,\n                                            fg=\"blue\",bg=\"orange\")\n```\n    \n\nIt produces the following result:\n\n![t6.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg)\n\n\n You can use any locally defined standard color name. The colors \"white\", \"black\", \"red\", \"green\", \"blue\", \"cyan\", \"yellow\", and \"magenta\" will always be available.  You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html).\n\n2.3 Set the fonts\n\nThe label allow you to specify the fonts used to display text. This can be achieved by setting the attribute \"font\".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike.\n\nExamples:\n - (\"Arial\", \"18\") for a 18-point Arial regular; \n - (\"Times\", \"20\", \"bold italic\") for a 20-point Times bold italic.\n\ncode: \n``` python\ntheLable = tk.Label(app, text=\"Hello Steemians!\",\n                                            width=20,height=5,\n                                            fg=\"blue\",bg=\"orange\",\n                                            font=(\"Times\", \"40\", \"bold italic\")\n                                             )\n```\n    \n    \nresult:\n\n![t7.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg)\n\n\n\n\n\n##### 3. Adding Images in Labels\n\nAs we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image.\n```python\nimport tkinter as tk\nimport time\napp = tk.Tk()\napp.title(\"Hello\")\nmyImage = tk.PhotoImage(file=\"hello.gif\")\nimageLable=tk.Label(app,\n                                                 compound = tk.TOP,\n                                                 image=myImage,\n                                                 text=\"Hello Steemians!\",\n                                                 fg=\"white\",bg=\"black\",\n                                                 font=(\"Times\", \"30\", \"bold\"),\n                                                 )\nimageLable.pack()\napp.mainloop()\n```\nThe PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL).\n\nThe option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are:\n\ntext: display text only\nimage: display image only\ntop, bottom, left, right: display image above, below, left of, or right of the text, respectively.\nnone: the default. display the image if present, otherwise the text.\n\nThe result looks like this: \n\n![t8.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg)\n\n\n\nCongratulations! you get a tool  for making memes.This tool does not look very good, we will improve later.\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":81598961,\"name\":\"cpython\",\"full_name\":\"python/cpython\",\"html_url\":\"https://github.com/python/cpython\",\"fork\":false,\"owner\":{\"login\":\"python\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"moderator\":{\"account\":\"roj\",\"time\":\"2018-02-14T15:18:30.439Z\",\"flagged\":true,\"reviewed\":false,\"pending\":false}}"
    }
  ]
}
2018/02/14 17:47:39
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body@@ -4,19 +4,15 @@ llo -dear friend +Utopian s.I
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":81598961,"name":"cpython","full_name":"python/cpython","html_url":"https://github.com/python/cpython","fork":false,"owner":{"login":"python"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"]}
Transaction InfoBlock #19868688/Trx a9ff8a7191248b5bf0afdabe3a8f56cf8cf93892
View Raw JSON Data
{
  "trx_id": "a9ff8a7191248b5bf0afdabe3a8f56cf8cf93892",
  "block": 19868688,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T17:47:39",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "@@ -4,19 +4,15 @@\n llo \n-dear friend\n+Utopian\n s.I \n",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":81598961,\"name\":\"cpython\",\"full_name\":\"python/cpython\",\"html_url\":\"https://github.com/python/cpython\",\"fork\":false,\"owner\":{\"login\":\"python\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"]}"
    }
  ]
}
2018/02/14 16:17:09
voterlaopihao
authorroj
permlinkre-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t152310769z
weight10000 (100.00%)
Transaction InfoBlock #19866880/Trx b52565b53789e475e0cfc475f59321c07185bba7
View Raw JSON Data
{
  "trx_id": "b52565b53789e475e0cfc475f59321c07185bba7",
  "block": 19866880,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T16:17:09",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "roj",
      "permlink": "re-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t152310769z",
      "weight": 10000
    }
  ]
}
2018/02/14 16:13:57
parent authorroj
parent permlinkre-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t152310769z
authorlaopihao
permlinkre-roj-re-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t161354337z
title
bodyThank you!
json metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
Transaction InfoBlock #19866817/Trx 6ba8c924f51632cd8ff9f943dff100e26f5ec5e7
View Raw JSON Data
{
  "trx_id": "6ba8c924f51632cd8ff9f943dff100e26f5ec5e7",
  "block": 19866817,
  "trx_in_block": 32,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T16:13:57",
  "op": [
    "comment",
    {
      "parent_author": "roj",
      "parent_permlink": "re-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t152310769z",
      "author": "laopihao",
      "permlink": "re-roj-re-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t161354337z",
      "title": "",
      "body": "Thank you!",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/02/14 15:23:12
parent authorlaopihao
parent permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
authorroj
permlinkre-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t152310769z
title
bodyYour contribution cannot be approved because it does not follow the [Utopian Rules](https://utopian.io/rules). - You should choose the repository belongs to the project, instead of your tutorial repository. And using informal sentences will get your contributions rejected, if you continue to write after this warning. If you can provide a proper repository for the project, I can approve your contribution. If there is an improvement, contact me on #help channel in Utopian Discord server. The contribution doesn't follow the rules: - If you create a GitHub repository with additional material (like code samples), make sure to choose the repository of the project your tutorial is about and not your own repository. You can provide links to your repository in your post. - Sentences like: Hello Utopians, Hello Steemians, Dear friends and similar informal sentences may lead to rejection. [SOFT] You can contact us on [Discord](https://discord.gg/uTyJkNm). **[[utopian-moderator]](https://utopian.io/moderators)**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19865805/Trx 280f1913c4845b803d14c5aac498d8a99cd80e1d
View Raw JSON Data
{
  "trx_id": "280f1913c4845b803d14c5aac498d8a99cd80e1d",
  "block": 19865805,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T15:23:12",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "author": "roj",
      "permlink": "re-laopihao-how-to-build-a-running-gui-application-with-tkinter-and-python-20180214t152310769z",
      "title": "",
      "body": "Your contribution cannot be approved because it does not follow the [Utopian Rules](https://utopian.io/rules).\n\n- You should choose the repository belongs to the project, instead of your tutorial repository. And using informal sentences will get your contributions rejected, if you continue to write after this warning. If you can provide a proper repository for the project, I can approve your contribution. If there is an improvement, contact me on #help channel in Utopian Discord server.\n\nThe contribution doesn't follow the rules:\n- If you create a GitHub repository with additional material (like code samples), make sure to choose the repository of the project your tutorial is about and not your own repository. You can provide links to your repository in your post.\n- Sentences like: Hello Utopians, Hello Steemians, Dear friends and similar informal sentences may lead to rejection. [SOFT]\n\nYou can contact us on [Discord](https://discord.gg/uTyJkNm).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/02/14 15:18:30
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body Hello dear friends.I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit. #### What Will I Learn? - How to create a running GUI application - How to use Label widget #### Requirements - Basic knowledge of programming - Python 3.5+ - A text editor #### Difficulty - Basic #### Tutorial ##### 1. Create a window Here, we show how simple it is to create a very basic window in just 4 lines. ```python import tkinter as tk app = tk.Tk() app.title("First GUI") app.mainloop() ``` We import the tkinter module and alias it as tk and create instance app.The title is "First GUI". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. Under Windows it appears in the Windows look and feel: ![t1.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg) An event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends. #### 2. Adding a label to the GUI form A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow: ```python import tkinter as tk app = tk.Tk() app.title("first GUI") #The keyword parameter "text" specifies the text to be shown: theLable = tk.Label(app, text="Hello Steemians!") #The pack method tells Tk to fit the size of the window. theLable.pack() app.mainloop() ``` Running the code: ![t2.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg) 2.1 Set the size If you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. ```python theLable = tk.Label(app, text="Hello Steemians!",width=30,height=10) ``` It produces the following result: ![t5.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg) 2.2 Set the color You can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. ``` python theLable = tk.Label(app, text="Hello Steemians!", width=30,height=10, fg="blue",bg="orange") ``` It produces the following result: ![t6.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg) You can use any locally defined standard color name. The colors "white", "black", "red", "green", "blue", "cyan", "yellow", and "magenta" will always be available. You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html). 2.3 Set the fonts The label allow you to specify the fonts used to display text. This can be achieved by setting the attribute "font".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike. Examples: - ("Arial", "18") for a 18-point Arial regular; - ("Times", "20", "bold italic") for a 20-point Times bold italic. code: ``` python theLable = tk.Label(app, text="Hello Steemians!", width=20,height=5, fg="blue",bg="orange", font=("Times", "40", "bold italic") ) ``` result: ![t7.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg) ##### 3. Adding Images in Labels As we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image. ```python import tkinter as tk import time app = tk.Tk() app.title("Hello") myImage = tk.PhotoImage(file="hello.gif") imageLable=tk.Label(app, compound = tk.TOP, image=myImage, text="Hello Steemians!", fg="white",bg="black", font=("Times", "30", "bold"), ) imageLable.pack() app.mainloop() ``` The PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL). The option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are: text: display text only image: display image only top, bottom, left, right: display image above, below, left of, or right of the text, respectively. none: the default. display the image if present, otherwise the text. The result looks like this: ![t8.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg) Congratulations! you get a tool for making memes.This tool does not look very good, we will improve later. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":121228890,"name":"tkinter-learning","full_name":"hahawangpro/tkinter-learning","html_url":"https://github.com/hahawangpro/tkinter-learning","fork":false,"owner":{"login":"hahawangpro"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"moderator":{"account":"roj","time":"2018-02-14T15:18:30.439Z","flagged":true,"reviewed":false,"pending":false}}
Transaction InfoBlock #19865711/Trx 350de8f1c69b96620f510e2b8142ab5752c94fa5
View Raw JSON Data
{
  "trx_id": "350de8f1c69b96620f510e2b8142ab5752c94fa5",
  "block": 19865711,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-14T15:18:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "\nHello dear friends.I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.\n#### What Will I Learn?\n\n- How to create a running GUI application\n- How to use Label widget\n\n#### Requirements\n\n-  Basic knowledge of programming\n-  Python 3.5+\n-  A text editor\n\n\n#### Difficulty\n- Basic\n\n#### Tutorial\n\n##### 1. Create a window\nHere, we show how simple it is to create a very basic window in just 4 lines.\n```python\nimport tkinter as tk\napp = tk.Tk()\napp.title(\"First GUI\")\napp.mainloop()\n```\n\nWe import the tkinter module and alias it as tk and create instance app.The title is \"First GUI\". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. \nUnder Windows it appears in the Windows look and feel:\n\n![t1.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg)\n\n\n\nAn event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends.\n\n#### 2. Adding a label to the GUI form\n A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow:\n```python\n    import tkinter as tk\n    app = tk.Tk()\n    app.title(\"first GUI\")\n    #The keyword parameter \"text\" specifies the text to be shown:\n    theLable = tk.Label(app, text=\"Hello Steemians!\")\n    #The pack method tells Tk to fit the size of the window.\n    theLable.pack() \n    app.mainloop()\n```\nRunning the code:\n\n![t2.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg)\n\n\n2.1 Set the size\n \nIf you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. \n```python   \n    theLable = tk.Label(app, text=\"Hello Steemians!\",width=30,height=10)\n```\n It produces the following result:\n\n![t5.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg)\n\n\n2.2 Set the color\n\nYou can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. \n``` python\ntheLable = tk.Label(app, text=\"Hello Steemians!\",\n                                            width=30,height=10,\n                                            fg=\"blue\",bg=\"orange\")\n```\n    \n\nIt produces the following result:\n\n![t6.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg)\n\n\n You can use any locally defined standard color name. The colors \"white\", \"black\", \"red\", \"green\", \"blue\", \"cyan\", \"yellow\", and \"magenta\" will always be available.  You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html).\n\n2.3 Set the fonts\n\nThe label allow you to specify the fonts used to display text. This can be achieved by setting the attribute \"font\".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike.\n\nExamples:\n - (\"Arial\", \"18\") for a 18-point Arial regular; \n - (\"Times\", \"20\", \"bold italic\") for a 20-point Times bold italic.\n\ncode: \n``` python\ntheLable = tk.Label(app, text=\"Hello Steemians!\",\n                                            width=20,height=5,\n                                            fg=\"blue\",bg=\"orange\",\n                                            font=(\"Times\", \"40\", \"bold italic\")\n                                             )\n```\n    \n    \nresult:\n\n![t7.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg)\n\n\n\n\n\n##### 3. Adding Images in Labels\n\nAs we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image.\n```python\nimport tkinter as tk\nimport time\napp = tk.Tk()\napp.title(\"Hello\")\nmyImage = tk.PhotoImage(file=\"hello.gif\")\nimageLable=tk.Label(app,\n                                                 compound = tk.TOP,\n                                                 image=myImage,\n                                                 text=\"Hello Steemians!\",\n                                                 fg=\"white\",bg=\"black\",\n                                                 font=(\"Times\", \"30\", \"bold\"),\n                                                 )\nimageLable.pack()\napp.mainloop()\n```\nThe PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL).\n\nThe option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are:\n\ntext: display text only\nimage: display image only\ntop, bottom, left, right: display image above, below, left of, or right of the text, respectively.\nnone: the default. display the image if present, otherwise the text.\n\nThe result looks like this: \n\n![t8.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg)\n\n\n\nCongratulations! you get a tool  for making memes.This tool does not look very good, we will improve later.\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":121228890,\"name\":\"tkinter-learning\",\"full_name\":\"hahawangpro/tkinter-learning\",\"html_url\":\"https://github.com/hahawangpro/tkinter-learning\",\"fork\":false,\"owner\":{\"login\":\"hahawangpro\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"moderator\":{\"account\":\"roj\",\"time\":\"2018-02-14T15:18:30.439Z\",\"flagged\":true,\"reviewed\":false,\"pending\":false}}"
    }
  ]
}
2018/02/12 16:26:30
voteroliwaw
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
weight10000 (100.00%)
Transaction InfoBlock #19809532/Trx 92e3b6a81c3ed3c91f3ba65f609c65636e0224af
View Raw JSON Data
{
  "trx_id": "92e3b6a81c3ed3c91f3ba65f609c65636e0224af",
  "block": 19809532,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-12T16:26:30",
  "op": [
    "vote",
    {
      "voter": "oliwaw",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "weight": 10000
    }
  ]
}
2018/02/12 13:20:30
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body@@ -724,33 +724,33 @@ Tk()%0Aapp.title(%22 -f +F irst GUI%22)%0Aapp.m @@ -850,17 +850,17 @@ tle is %22 -f +F irst GUI
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":121228890,"name":"tkinter-learning","full_name":"hahawangpro/tkinter-learning","html_url":"https://github.com/hahawangpro/tkinter-learning","fork":false,"owner":{"login":"hahawangpro"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"]}
Transaction InfoBlock #19805814/Trx 458bcffdf7b94c0f5a0a5c0e102739b4a701cefa
View Raw JSON Data
{
  "trx_id": "458bcffdf7b94c0f5a0a5c0e102739b4a701cefa",
  "block": 19805814,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-12T13:20:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "@@ -724,33 +724,33 @@\n Tk()%0Aapp.title(%22\n-f\n+F\n irst GUI%22)%0Aapp.m\n@@ -850,17 +850,17 @@\n tle is %22\n-f\n+F\n irst GUI\n",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":121228890,\"name\":\"tkinter-learning\",\"full_name\":\"hahawangpro/tkinter-learning\",\"html_url\":\"https://github.com/hahawangpro/tkinter-learning\",\"fork\":false,\"owner\":{\"login\":\"hahawangpro\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"]}"
    }
  ]
}
2018/02/12 12:46:30
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to create a GUI application with tkinter and python?
body@@ -380,20 +380,24 @@ rn?%0A +%0A- How to -build +create a r @@ -419,16 +419,18 @@ ication%0A +- How to u @@ -445,16 +445,17 @@ widget%0A +%0A #### Req @@ -517,16 +517,18 @@ 3.5+%0A- - +A text edi @@ -563,16 +563,32 @@ c%0A%0A#### - +Tutorial%0A%0A##### 1. Creat @@ -1069,32 +1069,110 @@ el:%0A +%0A !%5B -Alt text%5D(./t1 +t1.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi .jpg)%0A%0A%0A +%0A An e @@ -1999,31 +1999,109 @@ de:%0A +%0A !%5B -Alt text%5D(./t2 +t2.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp .jpg)%0A%0A +%0A 2.1 @@ -2406,32 +2406,109 @@ lt:%0A - !%5BAlt text%5D(./t5 +%0A!%5Bt5.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z .jpg)%0A%0A +%0A 2.2 @@ -2775,21 +2775,27 @@ label. %0A -%0A +%60%60%60 python%0A theLable @@ -2856,24 +2856,44 @@ + width=30,hei @@ -2916,32 +2916,52 @@ + fg=%22blue%22,bg=%22or @@ -2966,16 +2966,25 @@ orange%22) +%0A%60%60%60%0A %0A%0AIt pro @@ -3015,31 +3015,109 @@ lt:%0A +%0A !%5B -Alt text%5D(./t6 +t6.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz .jpg)%0A%0A +%0A You @@ -3722,16 +3722,17 @@ strike.%0A +%0A Examples @@ -3733,16 +3733,18 @@ amples:%0A + - (%22Arial @@ -3783,16 +3783,18 @@ gular; %0A + - (%22Times @@ -3859,21 +3859,27 @@ %0Acode: %0A -%0A +%60%60%60 python%0A theLable @@ -3940,24 +3940,44 @@ + width=20,hei @@ -3999,32 +3999,52 @@ + fg=%22blue%22,bg=%22or @@ -4050,16 +4050,36 @@ range%22,%0A + @@ -4129,17 +4129,72 @@ italic%22) -) +%0A )%0A%60%60%60%0A %0A %0Are @@ -4203,34 +4203,121 @@ lt:%0A +%0A !%5B -Alt text%5D(./t7.jpg)%0A%0A%0A%0A%0A +t7.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg)%0A%0A%0A%0A%0A%0A##### 3. Addi @@ -4634,27 +4634,85 @@ -compound = tk.TOP,%0A + compound = tk.TOP,%0A @@ -4762,16 +4762,45 @@ + text=%22He @@ -4832,24 +4832,53 @@ + fg=%22white%22,b @@ -4888,16 +4888,45 @@ black%22,%0A + @@ -4967,16 +4967,44 @@ bold%22),%0A + @@ -5615,31 +5615,110 @@ s: %0A +%0A !%5B -Alt text%5D(./t8 +t8.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz .jpg)%0A%0A +%0A%0A Cong
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":121228890,"name":"tkinter-learning","full_name":"hahawangpro/tkinter-learning","html_url":"https://github.com/hahawangpro/tkinter-learning","fork":false,"owner":{"login":"hahawangpro"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter","tutorials"],"users":["laopihao"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://matplotlib.org/examples/color/named_colors.html","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg"]}
Transaction InfoBlock #19805134/Trx 682108e02d0438c9818b660b058bda44573a5c5a
View Raw JSON Data
{
  "trx_id": "682108e02d0438c9818b660b058bda44573a5c5a",
  "block": 19805134,
  "trx_in_block": 26,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-12T12:46:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to create a GUI application  with tkinter and python?",
      "body": "@@ -380,20 +380,24 @@\n rn?%0A\n+%0A- \n How to \n-build\n+create\n  a r\n@@ -419,16 +419,18 @@\n ication%0A\n+- \n How to u\n@@ -445,16 +445,17 @@\n  widget%0A\n+%0A\n #### Req\n@@ -517,16 +517,18 @@\n 3.5+%0A-  \n-\n+A \n text edi\n@@ -563,16 +563,32 @@\n c%0A%0A#### \n-\n+Tutorial%0A%0A##### \n 1. Creat\n@@ -1069,32 +1069,110 @@\n el:%0A\n+%0A\n !%5B\n-Alt text%5D(./t1\n+t1.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi\n .jpg)%0A%0A%0A\n+%0A\n An e\n@@ -1999,31 +1999,109 @@\n de:%0A\n+%0A\n !%5B\n-Alt text%5D(./t2\n+t2.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp\n .jpg)%0A%0A\n+%0A\n 2.1 \n@@ -2406,32 +2406,109 @@\n lt:%0A\n- !%5BAlt text%5D(./t5\n+%0A!%5Bt5.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z\n .jpg)%0A%0A\n+%0A\n 2.2 \n@@ -2775,21 +2775,27 @@\n label. %0A\n-%0A    \n+%60%60%60 python%0A\n theLable\n@@ -2856,24 +2856,44 @@\n             \n+                    \n width=30,hei\n@@ -2916,32 +2916,52 @@\n                 \n+                    \n fg=%22blue%22,bg=%22or\n@@ -2966,16 +2966,25 @@\n orange%22)\n+%0A%60%60%60%0A    \n %0A%0AIt pro\n@@ -3015,31 +3015,109 @@\n lt:%0A\n+%0A\n !%5B\n-Alt text%5D(./t6\n+t6.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz\n .jpg)%0A%0A\n+%0A\n  You\n@@ -3722,16 +3722,17 @@\n strike.%0A\n+%0A\n Examples\n@@ -3733,16 +3733,18 @@\n amples:%0A\n+ -\n  (%22Arial\n@@ -3783,16 +3783,18 @@\n gular; %0A\n+ -\n  (%22Times\n@@ -3859,21 +3859,27 @@\n %0Acode: %0A\n-%0A    \n+%60%60%60 python%0A\n theLable\n@@ -3940,24 +3940,44 @@\n             \n+                    \n width=20,hei\n@@ -3999,32 +3999,52 @@\n                 \n+                    \n fg=%22blue%22,bg=%22or\n@@ -4050,16 +4050,36 @@\n range%22,%0A\n+                    \n         \n@@ -4129,17 +4129,72 @@\n italic%22)\n-)\n+%0A                                             )%0A%60%60%60%0A    \n %0A    %0Are\n@@ -4203,34 +4203,121 @@\n lt:%0A\n+%0A\n !%5B\n-Alt text%5D(./t7.jpg)%0A%0A%0A%0A%0A\n+t7.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg)%0A%0A%0A%0A%0A%0A##### 3. \n Addi\n@@ -4634,27 +4634,85 @@\n     \n-compound = tk.TOP,%0A\n+                             compound = tk.TOP,%0A                             \n     \n@@ -4762,16 +4762,45 @@\n         \n+                             \n text=%22He\n@@ -4832,24 +4832,53 @@\n             \n+                             \n fg=%22white%22,b\n@@ -4888,16 +4888,45 @@\n black%22,%0A\n+                             \n         \n@@ -4967,16 +4967,44 @@\n bold%22),%0A\n+                            \n         \n@@ -5615,31 +5615,110 @@\n s: %0A\n+%0A\n !%5B\n-Alt text%5D(./t8\n+t8.jpg%5D(https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz\n .jpg)%0A%0A\n+%0A%0A\n Cong\n",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":121228890,\"name\":\"tkinter-learning\",\"full_name\":\"hahawangpro/tkinter-learning\",\"html_url\":\"https://github.com/hahawangpro/tkinter-learning\",\"fork\":false,\"owner\":{\"login\":\"hahawangpro\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\",\"tutorials\"],\"users\":[\"laopihao\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://matplotlib.org/examples/color/named_colors.html\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439129/uammq773jk2tqhpkpifi.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439117/xx6pzrq6nbpe50satkdp.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439105/w3ilqwonybbpbmfapm0z.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439055/zl8qtyjjsah3s1wm3jmz.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518439024/rawhgljdyfycsglqvibg.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1518438990/ojyusyzib1qyzzbjnmqz.jpg\"]}"
    }
  ]
}
2018/02/12 12:33:03
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
max accepted payout1000000.000 SBD
percent steem dollars10000
allow votestrue
allow curation rewardstrue
extensions[[0,{"beneficiaries":[{"account":"utopian.pay","weight":2500}]}]]
Transaction InfoBlock #19804865/Trx 1aa835979d59edb5448f939da90ecec3058c8374
View Raw JSON Data
{
  "trx_id": "1aa835979d59edb5448f939da90ecec3058c8374",
  "block": 19804865,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-12T12:33:03",
  "op": [
    "comment_options",
    {
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "allow_votes": true,
      "allow_curation_rewards": true,
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "utopian.pay",
                "weight": 2500
              }
            ]
          }
        ]
      ]
    }
  ]
}
2018/02/12 12:33:03
parent author
parent permlinkutopian-io
authorlaopihao
permlinkhow-to-build-a-running-gui-application-with-tkinter-and-python
titleHow to build a running GUI application with tkinter and python?
body Hello dear friends.I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit. #### What Will I Learn? How to build a running GUI application How to use Label widget #### Requirements - Basic knowledge of programming - Python 3.5+ - text editor #### Difficulty - Basic #### 1. Create a window Here, we show how simple it is to create a very basic window in just 4 lines. ```python import tkinter as tk app = tk.Tk() app.title("first GUI") app.mainloop() ``` We import the tkinter module and alias it as tk and create instance app.The title is "first GUI". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. Under Windows it appears in the Windows look and feel: ![Alt text](./t1.jpg) An event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends. #### 2. Adding a label to the GUI form A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow: ```python import tkinter as tk app = tk.Tk() app.title("first GUI") #The keyword parameter "text" specifies the text to be shown: theLable = tk.Label(app, text="Hello Steemians!") #The pack method tells Tk to fit the size of the window. theLable.pack() app.mainloop() ``` Running the code: ![Alt text](./t2.jpg) 2.1 Set the size If you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. ```python theLable = tk.Label(app, text="Hello Steemians!",width=30,height=10) ``` It produces the following result: ![Alt text](./t5.jpg) 2.2 Set the color You can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. theLable = tk.Label(app, text="Hello Steemians!", width=30,height=10, fg="blue",bg="orange") It produces the following result: ![Alt text](./t6.jpg) You can use any locally defined standard color name. The colors "white", "black", "red", "green", "blue", "cyan", "yellow", and "magenta" will always be available. You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html). 2.3 Set the fonts The label allow you to specify the fonts used to display text. This can be achieved by setting the attribute "font".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike. Examples: ("Arial", "18") for a 18-point Arial regular; ("Times", "20", "bold italic") for a 20-point Times bold italic. code: theLable = tk.Label(app, text="Hello Steemians!", width=20,height=5, fg="blue",bg="orange", font=("Times", "40", "bold italic")) result: ![Alt text](./t7.jpg) Adding Images in Labels As we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image. ```python import tkinter as tk import time app = tk.Tk() app.title("Hello") myImage = tk.PhotoImage(file="hello.gif") imageLable=tk.Label(app, compound = tk.TOP, image=myImage, text="Hello Steemians!", fg="white",bg="black", font=("Times", "30", "bold"), ) imageLable.pack() app.mainloop() ``` The PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL). The option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are: text: display text only image: display image only top, bottom, left, right: display image above, below, left of, or right of the text, respectively. none: the default. display the image if present, otherwise the text. The result looks like this: ![Alt text](./t8.jpg) Congratulations! you get a tool for making memes.This tool does not look very good, we will improve later. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":121228890,"name":"tkinter-learning","full_name":"hahawangpro/tkinter-learning","html_url":"https://github.com/hahawangpro/tkinter-learning","fork":false,"owner":{"login":"hahawangpro"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","python","tkinter"],"links":["https://matplotlib.org/examples/color/named_colors.html"]}
Transaction InfoBlock #19804865/Trx 1aa835979d59edb5448f939da90ecec3058c8374
View Raw JSON Data
{
  "trx_id": "1aa835979d59edb5448f939da90ecec3058c8374",
  "block": 19804865,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-12T12:33:03",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "laopihao",
      "permlink": "how-to-build-a-running-gui-application-with-tkinter-and-python",
      "title": "How to build a running GUI application  with tkinter and python?",
      "body": "\nHello dear friends.I shall show you how to use Tkinter for constructing Graphical User Interface (GUI) applications.The Tkinter module is the standard Python interface to the Tk GUI toolkit.Python when combined with Tkinter provides a fast and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.\n#### What Will I Learn?\nHow to build a running GUI application\nHow to use Label widget\n#### Requirements\n\n-  Basic knowledge of programming\n-  Python 3.5+\n-  text editor\n\n\n#### Difficulty\n- Basic\n\n#### 1. Create a window\nHere, we show how simple it is to create a very basic window in just 4 lines.\n```python\nimport tkinter as tk\napp = tk.Tk()\napp.title(\"first GUI\")\napp.mainloop()\n```\n\nWe import the tkinter module and alias it as tk and create instance app.The title is \"first GUI\". An event loop is a mechanism that makes our GUI work.So we start the window's event loop by calling the mainloop method on the class instance app. \nUnder Windows it appears in the Windows look and feel:\n![Alt text](./t1.jpg)\n\n\nAn event loop is a mechanism that makes our GUI work. We can think of it as an endless loop where our GUI is waiting for events to be sent to it. The event loop ends when we clicks the close(X) button or a widget that we have programmed to end our GUI. When the event loop ends, our GUI also ends.\n\n#### 2. Adding a label to the GUI form\n A Label is a Tkinter Widget class, which is used to display text or an image. The label is a widget that the user just views but not interact with. The code is blow:\n```python\n    import tkinter as tk\n    app = tk.Tk()\n    app.title(\"first GUI\")\n    #The keyword parameter \"text\" specifies the text to be shown:\n    theLable = tk.Label(app, text=\"Hello Steemians!\")\n    #The pack method tells Tk to fit the size of the window.\n    theLable.pack() \n    app.mainloop()\n```\nRunning the code:\n![Alt text](./t2.jpg)\n\n2.1 Set the size\n \nIf you don’t specify a size, the label is made just large enough to hold its contents. You can also use the height and width options to explicitly set the size. \n```python   \n    theLable = tk.Label(app, text=\"Hello Steemians!\",width=30,height=10)\n```\n It produces the following result:\n ![Alt text](./t5.jpg)\n\n2.2 Set the color\n\nYou can specify which color to use for the label with the foreground (or fg) and background (or bg) options. The attribute fg can be used to have the text in another colour and the attribute bg can be used to change the background colour of the label. \n\n    theLable = tk.Label(app, text=\"Hello Steemians!\",\n                        width=30,height=10,\n                        fg=\"blue\",bg=\"orange\")\n\nIt produces the following result:\n![Alt text](./t6.jpg)\n\n You can use any locally defined standard color name. The colors \"white\", \"black\", \"red\", \"green\", \"blue\", \"cyan\", \"yellow\", and \"magenta\" will always be available.  You can see [color example code: named_colors.py](https://matplotlib.org/examples/color/named_colors.html).\n\n2.3 Set the fonts\n\nThe label allow you to specify the fonts used to display text. This can be achieved by setting the attribute \"font\".As a tuple whose first element is the font family, followed by a size in points, optionally followed by a string containing one or more of the style modifiers bold, italic, underline, and overstrike.\nExamples:\n (\"Arial\", \"18\") for a 18-point Arial regular; \n (\"Times\", \"20\", \"bold italic\") for a 20-point Times bold italic.\n\ncode: \n\n    theLable = tk.Label(app, text=\"Hello Steemians!\",\n                        width=20,height=5,\n                        fg=\"blue\",bg=\"orange\",\n                        font=(\"Times\", \"40\", \"bold italic\"))\n    \nresult:\n![Alt text](./t7.jpg)\n\n\n\n\nAdding Images in Labels\n\nAs we have already mentioned, labels can contain text and images.The following example contains a label with a text and an image.\n```python\nimport tkinter as tk\nimport time\napp = tk.Tk()\napp.title(\"Hello\")\nmyImage = tk.PhotoImage(file=\"hello.gif\")\nimageLable=tk.Label(app,\n                    compound = tk.TOP,\n                    image=myImage,\n                    text=\"Hello Steemians!\",\n                    fg=\"white\",bg=\"black\",\n                    font=(\"Times\", \"30\", \"bold\"),\n                     )\nimageLable.pack()\napp.mainloop()\n```\nThe PhotoImage class can read GIF and PGM / PPM images from the file. If you need to use other file formats, you can use the Python Imaging Library (PIL).\n\nThe option *compound* specifies how to display the image relative to the text, in the case both text and images options are present. Valid values are:\n\ntext: display text only\nimage: display image only\ntop, bottom, left, right: display image above, below, left of, or right of the text, respectively.\nnone: the default. display the image if present, otherwise the text.\n\nThe result looks like this: \n![Alt text](./t8.jpg)\n\nCongratulations! you get a tool  for making memes.This tool does not look very good, we will improve later.\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@laopihao/how-to-build-a-running-gui-application-with-tkinter-and-python\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":121228890,\"name\":\"tkinter-learning\",\"full_name\":\"hahawangpro/tkinter-learning\",\"html_url\":\"https://github.com/hahawangpro/tkinter-learning\",\"fork\":false,\"owner\":{\"login\":\"hahawangpro\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"python\",\"tkinter\"],\"links\":[\"https://matplotlib.org/examples/color/named_colors.html\"]}"
    }
  ]
}
laopihaoupdated their account properties
2018/01/30 14:00:18
accountlaopihao
posting{"weight_threshold":1,"account_auths":[["busy.app",1],["dmania.app",1],["utopian.app",1]],"key_auths":[["STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD8",1]]}
memo keySTM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61
json metadata
Transaction InfoBlock #19432827/Trx 2fec66dc67dcb74300c5450977153e1994e1c46e
View Raw JSON Data
{
  "trx_id": "2fec66dc67dcb74300c5450977153e1994e1c46e",
  "block": 19432827,
  "trx_in_block": 61,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-30T14:00:18",
  "op": [
    "account_update",
    {
      "account": "laopihao",
      "posting": {
        "weight_threshold": 1,
        "account_auths": [
          [
            "busy.app",
            1
          ],
          [
            "dmania.app",
            1
          ],
          [
            "utopian.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD8",
            1
          ]
        ]
      },
      "memo_key": "STM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61",
      "json_metadata": ""
    }
  ]
}
laopihaofollowed @abit
2018/01/29 07:36:21
required auths[]
required posting auths["laopihao"]
idfollow
json["follow",{"follower":"laopihao","following":"abit","what":["blog"]}]
Transaction InfoBlock #19396385/Trx 19865e234f3f7051f73eec12a284d82d2471d583
View Raw JSON Data
{
  "trx_id": "19865e234f3f7051f73eec12a284d82d2471d583",
  "block": 19396385,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-29T07:36:21",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "laopihao"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"laopihao\",\"following\":\"abit\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/22 14:50:42
parent authorlalitswami
parent permlinkre-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t143354862z
authorlaopihao
permlinkre-lalitswami-re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t145040890z
title
bodyhttps://dmania.lol,here!
json metadata{"tags":["dmania"],"links":["https://dmania.lol"],"app":"steemit/0.1"}
Transaction InfoBlock #19203566/Trx 90eb964c4a24f0ab67b50700af6e7ee11c4225c9
View Raw JSON Data
{
  "trx_id": "90eb964c4a24f0ab67b50700af6e7ee11c4225c9",
  "block": 19203566,
  "trx_in_block": 46,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T14:50:42",
  "op": [
    "comment",
    {
      "parent_author": "lalitswami",
      "parent_permlink": "re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t143354862z",
      "author": "laopihao",
      "permlink": "re-lalitswami-re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t145040890z",
      "title": "",
      "body": "https://dmania.lol,here!",
      "json_metadata": "{\"tags\":[\"dmania\"],\"links\":[\"https://dmania.lol\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/22 14:49:33
parent authorhanen
parent permlinkre-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144626716z
authorlaopihao
permlinkre-hanen-re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144917038z
title
bodyYou are right! :P
json metadata{"tags":["dmania"],"app":"steemit/0.1"}
Transaction InfoBlock #19203543/Trx 453b3379d49b2f531410ecf331d437faec430e2d
View Raw JSON Data
{
  "trx_id": "453b3379d49b2f531410ecf331d437faec430e2d",
  "block": 19203543,
  "trx_in_block": 28,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T14:49:33",
  "op": [
    "comment",
    {
      "parent_author": "hanen",
      "parent_permlink": "re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144626716z",
      "author": "laopihao",
      "permlink": "re-hanen-re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144917038z",
      "title": "",
      "body": "You are right! :P",
      "json_metadata": "{\"tags\":[\"dmania\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/22 14:49:18
parent authorhanen
parent permlinkre-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144626716z
authorlaopihao
permlinkre-hanen-re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144917038z
title
bodyyou are right! :P
json metadata{"tags":["dmania"],"app":"steemit/0.1"}
Transaction InfoBlock #19203538/Trx 999fae551c10eecbda2693b049ae0a43c18db553
View Raw JSON Data
{
  "trx_id": "999fae551c10eecbda2693b049ae0a43c18db553",
  "block": 19203538,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T14:49:18",
  "op": [
    "comment",
    {
      "parent_author": "hanen",
      "parent_permlink": "re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144626716z",
      "author": "laopihao",
      "permlink": "re-hanen-re-zombee-we-are-dmaniacs-zg1hbmlh-2nu0i-20180122t144917038z",
      "title": "",
      "body": "you are right! :P",
      "json_metadata": "{\"tags\":[\"dmania\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/22 14:46:48
required auths[]
required posting auths["laopihao"]
idfollow
json["follow",{"follower":"laopihao","following":"zombee","what":["blog"]}]
Transaction InfoBlock #19203488/Trx 6997f319219627294d263408c686fb2fb6dd82ca
View Raw JSON Data
{
  "trx_id": "6997f319219627294d263408c686fb2fb6dd82ca",
  "block": 19203488,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T14:46:48",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "laopihao"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"laopihao\",\"following\":\"zombee\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/22 01:28:15
required auths[]
required posting auths["laopihao"]
idfollow
json["follow",{"follower":"laopihao","following":"casweeney","what":["blog"]}]
Transaction InfoBlock #19187523/Trx 4f0dd03d7f19567c359e78f787c187a7d461d81e
View Raw JSON Data
{
  "trx_id": "4f0dd03d7f19567c359e78f787c187a7d461d81e",
  "block": 19187523,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T01:28:15",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "laopihao"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"laopihao\",\"following\":\"casweeney\",\"what\":[\"blog\"]}]"
    }
  ]
}
laopihaoupvoted (100.00%) @casweeney / 6of2lzgi
2018/01/22 01:27:36
voterlaopihao
authorcasweeney
permlink6of2lzgi
weight10000 (100.00%)
Transaction InfoBlock #19187510/Trx 5262009a1f4cbc354eb95e04e1755144afd43607
View Raw JSON Data
{
  "trx_id": "5262009a1f4cbc354eb95e04e1755144afd43607",
  "block": 19187510,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T01:27:36",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "casweeney",
      "permlink": "6of2lzgi",
      "weight": 10000
    }
  ]
}
2018/01/22 01:20:12
voterlaopihao
authorscarletmedia
permlinkentrepreneurship-and-its-dark-side
weight10000 (100.00%)
Transaction InfoBlock #19187362/Trx a3566fe4a1f36b5aab743ce927ae7dc5c28f855f
View Raw JSON Data
{
  "trx_id": "a3566fe4a1f36b5aab743ce927ae7dc5c28f855f",
  "block": 19187362,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-22T01:20:12",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "scarletmedia",
      "permlink": "entrepreneurship-and-its-dark-side",
      "weight": 10000
    }
  ]
}
2018/01/21 15:16:51
voterlaopihao
authorlaopihao
permlinkhello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5
weight10000 (100.00%)
Transaction InfoBlock #19175297/Trx 55c4ca6413e0f53b44ea0b16abb1f0b4eb091d85
View Raw JSON Data
{
  "trx_id": "55c4ca6413e0f53b44ea0b16abb1f0b4eb091d85",
  "block": 19175297,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T15:16:51",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "laopihao",
      "permlink": "hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5",
      "weight": 10000
    }
  ]
}
2018/01/21 15:16:45
authorlaopihao
permlinkhello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5
max accepted payout1000000.000 SBD
percent steem dollars10000
allow votestrue
allow curation rewardstrue
extensions[[0,{"beneficiaries":[{"account":"dmania","weight":1000}]}]]
Transaction InfoBlock #19175295/Trx 1d08b19555194725fc4e7a767004ddbcaee640c5
View Raw JSON Data
{
  "trx_id": "1d08b19555194725fc4e7a767004ddbcaee640c5",
  "block": 19175295,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T15:16:45",
  "op": [
    "comment_options",
    {
      "author": "laopihao",
      "permlink": "hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5",
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "allow_votes": true,
      "allow_curation_rewards": true,
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "dmania",
                "weight": 1000
              }
            ]
          }
        ]
      ]
    }
  ]
}
2018/01/21 15:16:45
parent author
parent permlinkdmania
authorlaopihao
permlinkhello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5
titleHello dmania,I'm coming!My first post in dmania.
body<center> <a href="https://dmania.lol/post/laopihao/hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5"> <img src="https://s3-eu-west-1.amazonaws.com/dmania-images/000-m2fiom1.gif"> </a> <h3><a href="https://dmania.lol/post/laopihao/hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5">View post on dMania</a></h3> <a href="https://dmania.lol"> <img src="https://dmania.lol/assets/img/dmania_steemit_post.png"> </a> </center>
json metadata{"tags":["dmania","meme","funny","dmania"],"image":["https://s3-eu-west-1.amazonaws.com/dmania-images/000-m2fiom1.gif"],"app":"dmania/0.6"}
Transaction InfoBlock #19175295/Trx 1d08b19555194725fc4e7a767004ddbcaee640c5
View Raw JSON Data
{
  "trx_id": "1d08b19555194725fc4e7a767004ddbcaee640c5",
  "block": 19175295,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T15:16:45",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "dmania",
      "author": "laopihao",
      "permlink": "hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5",
      "title": "Hello dmania,I'm coming!My first post in dmania.",
      "body": "<center>\n                    <a href=\"https://dmania.lol/post/laopihao/hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5\">\n                      <img src=\"https://s3-eu-west-1.amazonaws.com/dmania-images/000-m2fiom1.gif\">\n                    </a>\n                    <h3><a href=\"https://dmania.lol/post/laopihao/hello-dmaniaim-comingmy-first-post-in-dmania-zg1hbmlh-o75p5\">View post on dMania</a></h3>\n                    <a href=\"https://dmania.lol\">\n                      <img src=\"https://dmania.lol/assets/img/dmania_steemit_post.png\">\n                    </a>\n                  </center>",
      "json_metadata": "{\"tags\":[\"dmania\",\"meme\",\"funny\",\"dmania\"],\"image\":[\"https://s3-eu-west-1.amazonaws.com/dmania-images/000-m2fiom1.gif\"],\"app\":\"dmania/0.6\"}"
    }
  ]
}
2018/01/21 15:12:39
voterlaopihao
authoradem3455
permlinklaser-attack-operation-zg1hbmlh-te8fs
weight10000 (100.00%)
Transaction InfoBlock #19175213/Trx 080e4f44208c80e649f9c0a9a45f5556d6f8ea5f
View Raw JSON Data
{
  "trx_id": "080e4f44208c80e649f9c0a9a45f5556d6f8ea5f",
  "block": 19175213,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T15:12:39",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "adem3455",
      "permlink": "laser-attack-operation-zg1hbmlh-te8fs",
      "weight": 10000
    }
  ]
}
laopihaoupdated their account properties
2018/01/20 17:23:45
accountlaopihao
posting{"weight_threshold":1,"account_auths":[["busy.app",1],["dmania.app",1]],"key_auths":[["STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD8",1]]}
memo keySTM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61
json metadata
Transaction InfoBlock #19149044/Trx b27a428ad0550a645ec2622a4d55b91ae46b1fda
View Raw JSON Data
{
  "trx_id": "b27a428ad0550a645ec2622a4d55b91ae46b1fda",
  "block": 19149044,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T17:23:45",
  "op": [
    "account_update",
    {
      "account": "laopihao",
      "posting": {
        "weight_threshold": 1,
        "account_auths": [
          [
            "busy.app",
            1
          ],
          [
            "dmania.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD8",
            1
          ]
        ]
      },
      "memo_key": "STM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61",
      "json_metadata": ""
    }
  ]
}
2018/01/20 13:22:48
required auths[]
required posting auths["laopihao"]
idfollow
json["follow",{"follower":"laopihao","following":"a-a-a","what":["ignore"]}]
Transaction InfoBlock #19144228/Trx ac0c7222f9addd64a7b54d837b81cb5dc625e001
View Raw JSON Data
{
  "trx_id": "ac0c7222f9addd64a7b54d837b81cb5dc625e001",
  "block": 19144228,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T13:22:48",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "laopihao"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"laopihao\",\"following\":\"a-a-a\",\"what\":[\"ignore\"]}]"
    }
  ]
}
laopihaoreceived 0.015 SBD, 0.004 SP author reward for @laopihao / sumptuous-dinner-and-my-favorite-dish
2018/01/12 23:43:00
authorlaopihao
permlinksumptuous-dinner-and-my-favorite-dish
sbd payout0.015 SBD
steem payout0.000 STEEM
vesting payout6.143939 VESTS
Transaction InfoBlock #18926376/Virtual Operation #4
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 18926376,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 4,
  "timestamp": "2018-01-12T23:43:00",
  "op": [
    "author_reward",
    {
      "author": "laopihao",
      "permlink": "sumptuous-dinner-and-my-favorite-dish",
      "sbd_payout": "0.015 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "6.143939 VESTS"
    }
  ]
}
steemdelegated 18.261 SP to @laopihao
2018/01/08 19:33:24
delegatorsteem
delegateelaopihao
vesting shares29700.599017 VESTS
Transaction InfoBlock #18806290/Trx e8877224c294b8722bf9642ea653dbcd408e7fcb
View Raw JSON Data
{
  "trx_id": "e8877224c294b8722bf9642ea653dbcd408e7fcb",
  "block": 18806290,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T19:33:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "laopihao",
      "vesting_shares": "29700.599017 VESTS"
    }
  ]
}
2018/01/08 07:53:21
required auths[]
required posting auths["laopihao"]
idfollow
json["follow",{"follower":"laopihao","following":"nainaztengra","what":["blog"]}]
Transaction InfoBlock #18792324/Trx b53ed767ab77bce3e4f7dfd3a53eec8f1c3dbc37
View Raw JSON Data
{
  "trx_id": "b53ed767ab77bce3e4f7dfd3a53eec8f1c3dbc37",
  "block": 18792324,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T07:53:21",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "laopihao"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"laopihao\",\"following\":\"nainaztengra\",\"what\":[\"blog\"]}]"
    }
  ]
}
laopihaoupvoted (100.00%) @tumutanzi / steemite
2018/01/08 07:09:12
voterlaopihao
authortumutanzi
permlinksteemite
weight10000 (100.00%)
Transaction InfoBlock #18791443/Trx 0d2f49adc678a9e81e53b13b56efd2b4fbb29a28
View Raw JSON Data
{
  "trx_id": "0d2f49adc678a9e81e53b13b56efd2b4fbb29a28",
  "block": 18791443,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T07:09:12",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "tumutanzi",
      "permlink": "steemite",
      "weight": 10000
    }
  ]
}
2018/01/08 00:58:09
voterlaopihao
authorlaopihao
permlinksumptuous-dinner-and-my-favorite-dish
weight10000 (100.00%)
Transaction InfoBlock #18784024/Trx 7cdb9b41e168c65d0d4b73059aa8739777f9b782
View Raw JSON Data
{
  "trx_id": "7cdb9b41e168c65d0d4b73059aa8739777f9b782",
  "block": 18784024,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-08T00:58:09",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "laopihao",
      "permlink": "sumptuous-dinner-and-my-favorite-dish",
      "weight": 10000
    }
  ]
}
2018/01/07 13:33:00
parent authorlaopihao
parent permlinkre-kofaqin-4b8cwg-20180106t140917953z
authorkofaqin
permlinkre-laopihao-re-kofaqin-4b8cwg-20180107t133807043z
title
body太好le
json metadata{"tags":["life"],"app":"steemit/0.1"}
Transaction InfoBlock #18770329/Trx cff6625d83e7619e090219b840afdbf9072d4d45
View Raw JSON Data
{
  "trx_id": "cff6625d83e7619e090219b840afdbf9072d4d45",
  "block": 18770329,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T13:33:00",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "re-kofaqin-4b8cwg-20180106t140917953z",
      "author": "kofaqin",
      "permlink": "re-laopihao-re-kofaqin-4b8cwg-20180107t133807043z",
      "title": "",
      "body": "太好le",
      "json_metadata": "{\"tags\":[\"life\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/07 13:31:54
voterkofaqin
authorlaopihao
permlinkre-kofaqin-4b8cwg-20180106t140917953z
weight10000 (100.00%)
Transaction InfoBlock #18770307/Trx c35766657e450d070e5b80709765625e5310017a
View Raw JSON Data
{
  "trx_id": "c35766657e450d070e5b80709765625e5310017a",
  "block": 18770307,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T13:31:54",
  "op": [
    "vote",
    {
      "voter": "kofaqin",
      "author": "laopihao",
      "permlink": "re-kofaqin-4b8cwg-20180106t140917953z",
      "weight": 10000
    }
  ]
}
2018/01/07 13:31:36
parent authorlaopihao
parent permlinkre-kofaqin-4b8cwg-20180106t140917953z
authorkofaqin
permlinkre-laopihao-re-kofaqin-4b8cwg-20180107t133639022z
title
body谢谢你
json metadata{"tags":["life"],"app":"steemit/0.1"}
Transaction InfoBlock #18770301/Trx f4f00c2ad56b714f9c12e8fd6356ec53be0d23a1
View Raw JSON Data
{
  "trx_id": "f4f00c2ad56b714f9c12e8fd6356ec53be0d23a1",
  "block": 18770301,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-07T13:31:36",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "re-kofaqin-4b8cwg-20180106t140917953z",
      "author": "kofaqin",
      "permlink": "re-laopihao-re-kofaqin-4b8cwg-20180107t133639022z",
      "title": "",
      "body": "谢谢你",
      "json_metadata": "{\"tags\":[\"life\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/06 15:57:48
voterlaopihao
authorkofaqin
permlinkre-qq625144107-re-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t134154243z
weight10000 (100.00%)
Transaction InfoBlock #18744464/Trx 092f9904de97a7184ed65a1419aa94af79ba01b1
View Raw JSON Data
{
  "trx_id": "092f9904de97a7184ed65a1419aa94af79ba01b1",
  "block": 18744464,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:57:48",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "kofaqin",
      "permlink": "re-qq625144107-re-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t134154243z",
      "weight": 10000
    }
  ]
}
2018/01/06 15:57:30
voterlaopihao
authorqq625144107
permlinkre-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t111315917z
weight10000 (100.00%)
Transaction InfoBlock #18744458/Trx ed050cc33f571df0d6d11e383a13d42dc6084b11
View Raw JSON Data
{
  "trx_id": "ed050cc33f571df0d6d11e383a13d42dc6084b11",
  "block": 18744458,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:57:30",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "qq625144107",
      "permlink": "re-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t111315917z",
      "weight": 10000
    }
  ]
}
2018/01/06 15:57:18
voterlaopihao
authoryassinof
permlinkre-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t142020934z
weight10000 (100.00%)
Transaction InfoBlock #18744454/Trx 6955c79a4f596df961c479b760394590b851e2f3
View Raw JSON Data
{
  "trx_id": "6955c79a4f596df961c479b760394590b851e2f3",
  "block": 18744454,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:57:18",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "yassinof",
      "permlink": "re-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t142020934z",
      "weight": 10000
    }
  ]
}
2018/01/06 15:48:30
voterlaopihao
authorvijaygupta
permlinkthe-dream-man
weight10000 (100.00%)
Transaction InfoBlock #18744278/Trx d6ff655987aba8efcc71b1e70271b27eb3158e5b
View Raw JSON Data
{
  "trx_id": "d6ff655987aba8efcc71b1e70271b27eb3158e5b",
  "block": 18744278,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:48:30",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "vijaygupta",
      "permlink": "the-dream-man",
      "weight": 10000
    }
  ]
}
2018/01/06 15:46:09
required auths[]
required posting auths["laopihao"]
idfollow
json["follow",{"follower":"laopihao","following":"vijaygupta","what":["blog"]}]
Transaction InfoBlock #18744231/Trx aedd9323377ad161f623ecbfc003c5831c5b93d3
View Raw JSON Data
{
  "trx_id": "aedd9323377ad161f623ecbfc003c5831c5b93d3",
  "block": 18744231,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:46:09",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "laopihao"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"laopihao\",\"following\":\"vijaygupta\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/06 15:45:54
voterlaopihao
authorvijaygupta
permlinkhonest-graduation-speech-with-hot-girl
weight10000 (100.00%)
Transaction InfoBlock #18744226/Trx 054e3aca29bc6f1c81964b9090eb35becd2afe9c
View Raw JSON Data
{
  "trx_id": "054e3aca29bc6f1c81964b9090eb35becd2afe9c",
  "block": 18744226,
  "trx_in_block": 62,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:45:54",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "vijaygupta",
      "permlink": "honest-graduation-speech-with-hot-girl",
      "weight": 10000
    }
  ]
}
2018/01/06 15:45:12
votervijaygupta
authorlaopihao
permlinksumptuous-dinner-and-my-favorite-dish
weight10000 (100.00%)
Transaction InfoBlock #18744212/Trx 7778ee9e0da0b793f24a4a747470cee35788aff5
View Raw JSON Data
{
  "trx_id": "7778ee9e0da0b793f24a4a747470cee35788aff5",
  "block": 18744212,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:45:12",
  "op": [
    "vote",
    {
      "voter": "vijaygupta",
      "author": "laopihao",
      "permlink": "sumptuous-dinner-and-my-favorite-dish",
      "weight": 10000
    }
  ]
}
2018/01/06 15:39:51
voterlaopihao
authoryassinof
permlinktry-the-moroccan-food-and-happy-new-year
weight10000 (100.00%)
Transaction InfoBlock #18744105/Trx 256a9d4348b0b6742ffef2cc8f4dee9464cc07a0
View Raw JSON Data
{
  "trx_id": "256a9d4348b0b6742ffef2cc8f4dee9464cc07a0",
  "block": 18744105,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:39:51",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "yassinof",
      "permlink": "try-the-moroccan-food-and-happy-new-year",
      "weight": 10000
    }
  ]
}
2018/01/06 15:34:09
voterlaopihao
authoryassinof
permlinkmajorel-garden-the-beauty-of-the-moroccan-desine
weight10000 (100.00%)
Transaction InfoBlock #18743991/Trx 54c524661b6bcb6f60378b12f6cc487aa9ffd70f
View Raw JSON Data
{
  "trx_id": "54c524661b6bcb6f60378b12f6cc487aa9ffd70f",
  "block": 18743991,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:34:09",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "yassinof",
      "permlink": "majorel-garden-the-beauty-of-the-moroccan-desine",
      "weight": 10000
    }
  ]
}
2018/01/06 15:33:24
voterlaopihao
authoryassinof
permlinki-need-your-help-steemit-comunity
weight10000 (100.00%)
Transaction InfoBlock #18743976/Trx 42d97a059305d323f7da00a92767ba00dbec5621
View Raw JSON Data
{
  "trx_id": "42d97a059305d323f7da00a92767ba00dbec5621",
  "block": 18743976,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:33:24",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "yassinof",
      "permlink": "i-need-your-help-steemit-comunity",
      "weight": 10000
    }
  ]
}
2018/01/06 15:28:03
parent authorlaopihao
parent permlinkre-yassinof-seven-wonders-of-the-ancient-world-20180106t152524630z
authoryassinof
permlinkre-laopihao-re-yassinof-seven-wonders-of-the-ancient-world-20180106t142739828z
title
bodyyes indeed a really wonderful place
json metadata{"tags":["steemit"],"app":"steemit/0.1"}
Transaction InfoBlock #18743869/Trx 5866766d00342baf8c17c48c6fbf8f0993c95de4
View Raw JSON Data
{
  "trx_id": "5866766d00342baf8c17c48c6fbf8f0993c95de4",
  "block": 18743869,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:28:03",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "re-yassinof-seven-wonders-of-the-ancient-world-20180106t152524630z",
      "author": "yassinof",
      "permlink": "re-laopihao-re-yassinof-seven-wonders-of-the-ancient-world-20180106t142739828z",
      "title": "",
      "body": "yes indeed a really wonderful place",
      "json_metadata": "{\"tags\":[\"steemit\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/06 15:27:33
voteryassinof
authorlaopihao
permlinkre-yassinof-seven-wonders-of-the-ancient-world-20180106t152524630z
weight10000 (100.00%)
Transaction InfoBlock #18743859/Trx 42f60d479b4bec28d638c9270a660a4d888a624f
View Raw JSON Data
{
  "trx_id": "42f60d479b4bec28d638c9270a660a4d888a624f",
  "block": 18743859,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:27:33",
  "op": [
    "vote",
    {
      "voter": "yassinof",
      "author": "laopihao",
      "permlink": "re-yassinof-seven-wonders-of-the-ancient-world-20180106t152524630z",
      "weight": 10000
    }
  ]
}
2018/01/06 15:26:00
voterlaopihao
authoryassinof
permlinkseven-wonders-of-the-ancient-world
weight10000 (100.00%)
Transaction InfoBlock #18743828/Trx f385c8bad5fe2868a270ea3832e86c8482473655
View Raw JSON Data
{
  "trx_id": "f385c8bad5fe2868a270ea3832e86c8482473655",
  "block": 18743828,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:26:00",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "yassinof",
      "permlink": "seven-wonders-of-the-ancient-world",
      "weight": 10000
    }
  ]
}
2018/01/06 15:25:51
voterlaopihao
authorpancheta13
permlinkre-yassinof-seven-wonders-of-the-ancient-world-20180106t010732350z
weight10000 (100.00%)
Transaction InfoBlock #18743825/Trx 84e4f7a71d0f4d0340364fb4ad49764d12645190
View Raw JSON Data
{
  "trx_id": "84e4f7a71d0f4d0340364fb4ad49764d12645190",
  "block": 18743825,
  "trx_in_block": 32,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:25:51",
  "op": [
    "vote",
    {
      "voter": "laopihao",
      "author": "pancheta13",
      "permlink": "re-yassinof-seven-wonders-of-the-ancient-world-20180106t010732350z",
      "weight": 10000
    }
  ]
}
2018/01/06 15:25:24
parent authoryassinof
parent permlinkseven-wonders-of-the-ancient-world
authorlaopihao
permlinkre-yassinof-seven-wonders-of-the-ancient-world-20180106t152524630z
title
bodyBeautiful place, I want to go too!
json metadata{"tags":["steemit"],"app":"steemit/0.1"}
Transaction InfoBlock #18743816/Trx 225d22be4f1959f21405e05dc13f19722c5baefb
View Raw JSON Data
{
  "trx_id": "225d22be4f1959f21405e05dc13f19722c5baefb",
  "block": 18743816,
  "trx_in_block": 46,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:25:24",
  "op": [
    "comment",
    {
      "parent_author": "yassinof",
      "parent_permlink": "seven-wonders-of-the-ancient-world",
      "author": "laopihao",
      "permlink": "re-yassinof-seven-wonders-of-the-ancient-world-20180106t152524630z",
      "title": "",
      "body": "Beautiful place, I want to go too!",
      "json_metadata": "{\"tags\":[\"steemit\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/06 15:20:48
parent authorlaopihao
parent permlinksumptuous-dinner-and-my-favorite-dish
authoryassinof
permlinkre-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t142020934z
title
bodylooks tasty hope you enjoy it
json metadata{"tags":["food"],"app":"steemit/0.1"}
Transaction InfoBlock #18743724/Trx 170f0508dedbc258f1e0ce21717f8dd64d2cfba4
View Raw JSON Data
{
  "trx_id": "170f0508dedbc258f1e0ce21717f8dd64d2cfba4",
  "block": 18743724,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-06T15:20:48",
  "op": [
    "comment",
    {
      "parent_author": "laopihao",
      "parent_permlink": "sumptuous-dinner-and-my-favorite-dish",
      "author": "yassinof",
      "permlink": "re-laopihao-sumptuous-dinner-and-my-favorite-dish-20180106t142020934z",
      "title": "",
      "body": "looks tasty hope you enjoy it",
      "json_metadata": "{\"tags\":[\"food\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
None
{
  "posting_json_metadata": {},
  "json_metadata": {}
}

Auth Keys

Owner
Single Signature
Public Keys
STM5YLGAyyz4xCXG9QBUvFCZoqjKNkVYY8EcCKNGaLnMgkxagoJAx1/1
Active
Single Signature
Public Keys
STM6MNCwXRdnB5UJE1e4nCnN31Q7UmiUZbdmdX8VJnnbPkyaabue11/1
Posting
Single Signature
Public Keys
STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD81/1
App Permissions
Memo
STM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61
{
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM5YLGAyyz4xCXG9QBUvFCZoqjKNkVYY8EcCKNGaLnMgkxagoJAx",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM6MNCwXRdnB5UJE1e4nCnN31Q7UmiUZbdmdX8VJnnbPkyaabue1",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting": {
    "account_auths": [
      [
        "busy.app",
        1
      ],
      [
        "dmania.app",
        1
      ],
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM6MfVdE8srgxyGrn4txU2NRib7JkXY5bcjqy4mK5L9PctHX3QD8",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "memo": "STM5yNKbdvYRZXXrKw9YqsWXbcpAxNf84rakEKLbJmTSWSAe6JZ61"
}

Witness Votes

0 / 30
No active witness votes.
[]