问题描述
我一直在尝试使tkinter文本框在可见框架之外键入内容,但是无论是否有wrap=WORD
,它总是使单词进入下一行。当输入很长的句子时,是否有任何方法可以使行保持不变。同样,如果添加了水平滚动条,则没有用,因为单词始终保留在框架中,而滚动条用于从框架中看到东西。我想使文本框像python的IDLE一样,以便除非未手动更改一行,否则它将保持不变。
这里的框架指的是可见的文本框区域。
See this。在图像中,您可以看到文本可能超出框架,您必须滚动或按R-箭头键才能移到末尾,但是我无法在文本框中输入相同的内容。
请帮助我进行此查询。
解决方法
根据文档,wrap="none"
关闭包装。
尝试执行此操作:
Devise.rb
config.omniauth :facebook,"client_id","secret",scope: 'public_profile,email,manage_pages,read_insights',:display => 'popup'
User.rb
devise :database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable,:confirmable,:lockable,:timeoutable,:omniauthable,omniauth_providers: [:facebook]
def self.current
Thread.current[:user]
end
def self.current=(user)
Thread.current[:user] = user
end
def self.create_from_provider_data(provider_data)
where(provider: provider_data.provider,uid: provider_data.uid).first_or_create do | user |
user.email = provider_data.info.email
user.password = Devise.friendly_token[0,20]
user.skip_confirmation!
end
end
omniauth controller
def facebook
@user = User.create_from_provider_data(request.env['omniauth.auth'])
if @user.persisted?
sign_in_and_redirect @user
set_flash_message(:notice,:success,kind: 'Facebook') if is_navigational_format?
else
user = User.create!(email: auth.info.email,password: Devise.friendly_token[0,20],user_name: auth.info.first_name
)
user.authentications.create!(user_id: user.id,provider: auth.provider,uid: auth.uid)
flash[:error] = 'There was a problem signing you in through Facebook. Please register or try signing in later.'
redirect_to new_user_registration_url
end
end
def failure
flash[:error] = 'There was a problem signing you in. Please register or try signing in later.'
redirect_to new_user_registration_url
end
或相同,但不包含任何内容。
但请注意,有时会发生这种情况,因为您必须输入单词:
t = Text()
t.config(wrap=WORD)