2015-01-12 21 views
5

मैं एक जीयूआई पर्ल Tkx के प्रयोग पर काम कर रहा है, और खोज की दो अलग-अलग कार्यों आप बटन बनाने के लिए उपयोग कर सकते हैं देखते हैं कि। (button और ttk__button)।पर्ल Tkx के बीच, "बटन" और "ttk__button" अंतर क्या है?

अभी तक मुझे मिला एकमात्र अंतर यह है कि button फ़ंक्शन टेक्स्ट को औचित्य देता है जबकि ttk__button फ़ंक्शन टेक्स्ट को औचित्य देने के लिए प्रतीत होता है।


उदाहरण button का उपयोग कर:

#!/usr/bin/perl 

use strict; 
use warnings; 

use Tkx; 

my $text = "Hello\nworld!\n\nThis is some text..."; 
my $mw = Tkx::widget->new("."); 

my $b = $mw->new_button(
    -text => $text, 
    -command => sub { exit; }, 
); 
$b->g_grid; 

Tkx::MainLoop() 

यह स्क्रिप्ट पाठ केंद्रित हो जाएगा:

Centered text


उदाहरण ttk__button का उपयोग कर:

#!/usr/bin/perl 

use strict; 
use warnings; 

use Tkx; 

my $text = "Hello\nworld!\n\nThis is some text..."; 
my $mw = Tkx::widget->new("."); 

my $b = $mw->new_ttk__button(
    -text => $text, 
    -command => sub { exit; }, 
); 
$b->g_grid; 

Tkx::MainLoop() 

यह स्क्रिप्ट सत्यापित पाठ छोड़ दिया जाएगा:

Left justified text


मैं सोच रहा था क्या अन्य मतभेद कि इन दो कार्यों के बीच कर रहे हैं और किसी विशेष कारण नहीं है कि क्या वहाँ दो अलग-अलग कार्य हैं कि बटन बनाएं क्या इनमें से एक आम तौर पर दूसरे की तुलना में बेहतर है?

इसके अलावा ttk__button समारोह का उपयोग कर पाठ का औचित्य साबित केंद्रित करने के लिए किसी भी तरह से है?

संपादित करें:

मैं "Tcl" टैग इस के बाद से पर्ल Tkx अनिवार्य रूप से Tcl के बंद बनाया गया है जोड़ा। मैं पर्ल के साथ बहुत अच्छा हूं लेकिन जब टीसीएल की बात आती है तो मैं कुछ हद तक नौसिखिया हूं।

हालांकि यह पहली नज़र में ऐसा प्रतीत नहीं होता है, लेकिन यह वास्तव में एक पर्ल प्रश्न की तुलना में एक टीसीएल प्रश्न है, इसलिए मुझे किसी ऐसे व्यक्ति से उत्तर सुनना अच्छा लगेगा जो टीसीएल के साथ अनुभवी है।


नोट:

एक ttk__button में पाठ केंद्र अपने कोड में निम्न पंक्ति जोड़ने के लिए:

Tkx::ttk__style_configure('TButton', -justify => 'center');

उत्तर

5

Button में से एक है, मान लें कि, 'पारंपरिक जाने विजेट। विजेट की ttk परिवार अधिक आधुनिक हैं और होस्ट ओएस के प्रदर्शन विन्यास पर ध्यान देने की डिजाइन किए हैं। यदि आप चाहते हैं कि आपका ऐप आपके उपयोगकर्ता के चुने हुए 'थीम' के साथ मिश्रण करे, तो ttk विजेट का उपयोग करें। दूसरी ओर, यदि आप करना चाहते काम की बहुत सारी में फिट करने के लिए, या एक गले में अंगूठे की तरह बाहर रहना है, तो अपने आवेदन चाहते हैं द्वारा हर तरह 'पारंपरिक विजेट का उपयोग।

ttk विजेट का बेहतर नियंत्रण -style विकल्प के माध्यम से किया जा सकता है।आप ट्यूटोरियल पेज @http://www.tkdocs.com/tutorial/styles.html देख सकते हैं।

इसके लायक होने के लिए, बटन में अक्सर बहु-पंक्ति पाठ नहीं होता है। ऐसे अन्य विजेट हैं जिन्हें टेक्स्ट लेआउट के साथ दिमाग में डिज़ाइन किया गया है।

संपादित करें:

tjwrona1992 की टिप्पणी से: पारंपरिक और tiled: Tkx::ttk__style_configure('TButton', -justify => 'center');

+0

ठीक है, मैं वही सोच रहा था जो मैं सोच रहा था, लेकिन क्या 'टीटीके बटन' पर पाठ को केन्द्रित करने का कोई तरीका है? जब मैं टेक्स्ट की कई पंक्तियों का उपयोग करता हूं और यह संरेखित करता है तो यह सब बदसूरत लग रहा है। – tjwrona1992

+0

व्यक्तिगत रूप से, मैं उस डिज़ाइन का पुनर्मूल्यांकन करूंगा जो एक बटन में बहु-पंक्ति पाठ रखता है। 'Ttk' विजेट्स का बेहतर नियंत्रण' स्टाइल 'विशेषता के माध्यम से लगाया जा सकता है। – tjd

+0

खैर मेरे पास एक बटन है जिसे अपेक्षाकृत छोटी जगह में फिट करने की आवश्यकता है। यहां तक ​​कि यदि पाठ को वर्डव्रैप करने का अपना तरीका था, तो यह उपयोगी होगा। अभी अगर मैं इसे कई लाइनों को पार करने के लिए "\ n" का उपयोग नहीं करता हूं तो यह इसे एक पंक्ति में रखेगा और इसे फिट करने के लिए डिस्प्ले को फैलाएगा जो कि बहुत अच्छा नहीं दिखता है। – tjwrona1992

2

टी विगेट्स के दो वर्गों है। पारंपरिक विजेट वे हैं जो टीए की शुरुआत के बाद से आसपास रहे हैं। टाइल विजेट्स अपेक्षाकृत नए हैं। वे थीम के लिए समर्थन के माध्यम से मूल विजेट का अनुकरण करते हैं। कई (लेकिन सभी नहीं) विजेट दोनों रूपों में उपलब्ध हैं। टाइल 8.5 से Ttk के रूप में एकीकृत होने से पहले एक अलग पुस्तकालय के रूप में शुरू हुआ।

दुर्भाग्यवश, पारंपरिक से टाइल किए गए टेस्ट विजेट्स में स्विच करना "उपयोग टीटीके" कथन जोड़ने के समान आसान नहीं है क्योंकि पारंपरिक और टाइल वाले विजेट्स में कॉन्फ़िगरेशन विकल्पों का एक ही सेट आवश्यक नहीं है।

Tkx में, ttk उपसर्ग का उपयोग विजेट के टाइल संस्करण को निर्दिष्ट करने के लिए किया जाता है। टीसीएल टीकी विकी में विभिन्न विषयों का उपयोग करके टीटीके विजेट्स के comparison हैं। ("क्लासिक" विषय नज़र & परंपरागत टी के लग रहा है मेल खाता है।) यहाँ कैसे button और ttk__button अपने सिस्टम (Win7) पर प्रस्तुत करना है:

button vs ttk button

पारंपरिक विगेट्स अधिक लचीले होते हैं। आप अधिक विशेषताओं को कॉन्फ़िगर कर सकते हैं और प्रति-विजेट आधार पर ऐसा कर सकते हैं। टाइल वाले विजेट बेहतर दिखते हैं (यानी देशी) और अपने आवेदन के पूरे दृश्य को & को बदलने में आसान बनाते हैं।

व्यक्तिगत रूप से, मैं हमेशा उपलब्ध होने पर टीटीके विजेट का उपयोग करता हूं।

संबंधित मुद्दे